2

使用 Java 配置如何启动/停止入站通道适配器,我尝试使用控制总线但我没有成功,请提供一个 java 配置示例。

4

1 回答 1

3

使用基于模式的名称@InboundChannelAdapter填充bean 。例如:SourcePollingChannelAdapter[configurationComponentName].[methodName].[decapitalizedAnnotationClassShortName]

@Configuration
@EnableIntegration
public class MyConfiguration {

    @InboundChannelAdapter(channel = "inputChannel")
    @Bean
    public MessageSource<String> myMessageSource() {
        return () -> new GenericMessage<>("bar");
    }

}

将有一个 bean 名称为myConfiguration.myMessageSource.inboundChannelAdapter.

SourcePollingChannelAdapter确实Lifecycle并且可以由控制总线管理:

controlBusChannel.send(
      new GenericMessage("@'myConfiguration.myMessageSource.inboundChannelAdapter'.stop()"));
于 2017-08-02T19:47:32.600 回答