<int:channel id="recieveChannel">
<int:queue />
</int:channel>
<int-sftp:inbound-channel-adapter
session-factory="sftpSessionFactory"
local-directory="C:\test-outbound\"
channel="recieveChannel"
filename-regex=".*\.txt$"
remote-directory="/opt/IInsurer/messages/"
>
<int:poller fixed-rate="10000" receive-timeout="10000"></int:poller>
</int-sftp:inbound-channel-adapter>
我也有弹出绑定网关适配器,但它也是一样的。我会非常感谢您的帮助。非常感谢
我使用start()方法启动了入站适配器。进一步使用单独的通道来读取和接收具有相关超时的消息。如果在超时期间没有收到任何消息,我将使用stop()停止适配器。
适配器配置
<int-sftp:inbound-channel-adapter id="RemoteTestingInboundChannelAdapter"
channel="requestChannel"
session-factory="sftpSessionFactoryRemoteTesting"
local-directory="${sync.dir}"
remote-directory="${RemoteTesting.local.dir}"
auto-startup="false"
temporary-file-suffix=".writing"
filter = "compositeFilterRemoteTesting"
delete-remote-files="false">
<int:poller fixed-rate="${RemoteTesting.poller}" max-messages-per-poll="${RemoteTesting.maxMessagesPerPoll}"/>
</int-sftp:inbound-channel-adapter>
主类
adapter.start();
QueueChannel localFileChannel = context.getBean("requestChannel", QueueChannel.class);
Message<?> received = localFileChannel.receive();
while (received!=null)
received = localFileChannel.receive(timeOutPeriod);
adapter.stop();
我们的应用程序使用一个Spring Integration轮询一个目录,以便在将文件丢弃到该目录时侦听该目录。然后,Spring Integration启动一个Spring批处理作业,将要处理的文件的路径和名称交给该作业。 显然,即使在Spring批处理作业处理了一个文件之后,文件轮询器仍在继续运行。因此,Spring上下文保持打开,应用程序不会终止。是否有一种方法,通过编程或配置(更好),在一个
我目前有一个Rabbit MQ Broker设置,带有直接交换,我使用Spring Integration来生成和使用队列中的消息。我使用的是责任链模式,其中我使用SI将消耗的消息从一个POJO传递到另一个POJO。为此,我使用了一个Spring Integration入站通道适配器。这要求它具有对轮询器的引用。 如何移除轮询器,使其不在轮询机制上工作,而是使用回调,以便一旦消息可用,它将从队列中
如果我创建一个SFTP入站通道适配器,并使用在SFTP中配置为channel属性的通道发送一些文件。文件将传输到SFTP远程目录本地目录,还是直接从通道流到本地目录
问题内容: Spring Integration FTP中的入站通道适配器和出站通道适配器之间有什么区别?我应该使用哪一个?何时使用? 我从文档中了解到,出站可以发送任何类型的文件(例如byte [],String,java.io.File),但入站仅限于文件类型。那仅仅是区别还是其他? 问题答案: 我建议您首先阅读理论 。 任何Inbound适配器都旨在从外部系统获取数据。Outbound-放置
我是否可以使用SFTP入站通道适配器递归轮询远程目录,或者我必须有多个入站通道适配器,每个子目录一个。 我的用例是,每个租户在上传目录中都有一个子目录,他们可以在其中放置csv文件,我们的应用程序应该将上传目录池化,以查看是否有租户有新文件,然后开始在本地下载。在本地,它将具有相同的文件夹结构。 远程: /upload/tenant2/*.csv