Spring 集成事件侦听器入站适配器

Spring Integration Event Listener Inbound Adapter

我有一个问题,我想使用 dsl 在 spring 集成中实现一个输入适配器,作为事件侦听器并将消息从该事件侦听器重定向到通道。

所需代码:

@Bean
public IntegrationFlow listenerFlow() {
    return IntegrationFlows.from(InputAdapterListener.listen())
            .channel("ChannelXYZ")
            .get();
}

有人可以向我解释 InputAdatperListener class 的实现是什么来支持这样的行为,或者在哪里可以找到一些示例吗?

spring-integration-event 中有一个 ApplicationEventListeningMessageProducer 供您在 from() 配置中使用:

 private ApplicationListener<?> applicationListener() {
        ApplicationEventListeningMessageProducer producer = new ApplicationEventListeningMessageProducer();
        producer.setEventTypes(TestApplicationEvent1.class);
        producer.setOutputChannel(resultsChannel());
        return producer;
    }

... 

 IntegrationFlows.from(applicationListener())

而这个会自动注册为 bean。