通过TCP客户端从服务器接收一些数据,在Spring Integration中生成MessageSource的最佳方法是什么?
我的应用程序已经在使用来自FTP和SFTP的数据,但我需要使用TCP实现一个版本。在以前的版本中,入口点是InboundChannelAdapter
,如下所示:
@Bean
@InboundChannelAdapter(value = "channel", poller = @Poller(fixedDelay = "10000", maxMessagesPerPoll = "-1"))
public MessageSource<File> ftpMessageSource(
@Autowired AbstractInboundFileSynchronizer<FTPFile> ftpInboundFileSynchronizer) {
FtpInboundFileSynchronizingMessageSource source = new FtpInboundFileSynchronizingMessageSource(
ftpInboundFileSynchronizer);
source.setLocalDirectory(new File(repo));
source.setAutoCreateLocalDirectory(true);
source.setLocalFilter(new AcceptAllFileListFilter<File>());
return source;
}
答案 0 :(得分:1)
TCP没有MessageSource
。仅仅因为TCP / IP是一种流媒体协议,所以我们通过MessageProducer
实现 - TcpReceivingChannelAdapter
持续工作。只需为这个定义明确的@Bean
定义,并使用正确的ConnectionFactory
和MessageChannel
进行注入。