有没有办法在使用java配置从sftp服务器接收文件后停止入站通道适配器

时间:2017-08-01 14:16:16

标签: spring-integration spring-integration-sftp

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

1 个答案:

答案 0 :(得分:3)

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

@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()"));