<spring.framework.version>4.3.0.RELEASE</spring.framework.version>
我想将基于xml的集成配置转换为@Configuration类。具体如何转换
<int:channel id="files"/>
<int-file:inbound-channel-adapter id="filesIn"
channel="files"
directory="file:${local.send.dir}"
filename-pattern="*.txt"
prevent-duplicates="true">
<int:poller fixed-rate="${poll.millis}" max-messages-per-poll="1"/>
</int-file:inbound-channel-adapter>
<int:service-activator input-channel="files"
ref="fileActivator"/>
这是我到目前为止所做的:
@Bean
public DirectChannel files() {
DirectChannel chnl = new DirectChannel();
return chnl;
}
@Bean
@InboundChannelAdapter(channel = "files")
public MessageSource<File> filesIn() {
FileReadingMessageSource source = new FileReadingMessageSource();
source.setDirectory(new File(env.getProperty("local.send.dir")));
source.setFilter(new SimplePatternFileListFilter("*.txt"));
return source;
}
答案 0 :(得分:0)
这是正确的,但至少有一个@EnableIntegration
类需要@Configuration
来表示SI基础架构的创建。
如果fileActivator
是POJO,请使用@ServiceActivator
为方法添加注释,并将其添加为@Bean
。
如果MessageHandler
添加@ServiceActivator
到@Bean
定义。