Java Spring SFTP集成未轮询该文件
我必须在我的应用程序中集成Spring SFTP。其思想是侦听SFTP路径,如果SFTP中有任何文件被丢弃,则读取该文件并更新DB表。但我认为Spring SFTP inbound是在系统之间传输文件。我找不到一个好的例子来说明如何做到这一点。 下面是我正在尝试的配置,但即使在放置此xml配置之后,也没有发生任何事情。我需要XML配置中的所有内容。 有人能给我举个例子说明如何实现这一点,或者我如何修改配置以实现同样的效果Java Spring SFTP集成未轮询该文件,java,spring,spring-integration,sftp,Java,Spring,Spring Integration,Sftp,我必须在我的应用程序中集成Spring SFTP。其思想是侦听SFTP路径,如果SFTP中有任何文件被丢弃,则读取该文件并更新DB表。但我认为Spring SFTP inbound是在系统之间传输文件。我找不到一个好的例子来说明如何做到这一点。 下面是我正在尝试的配置,但即使在放置此xml配置之后,也没有发生任何事情。我需要XML配置中的所有内容。 有人能给我举个例子说明如何实现这一点,或者我如何修改配置以实现同样的效果 <bean id="sftpSessionFactory&
<bean id="sftpSessionFactory"
class="org.springframework.integration.sftp.session.DefaultSftpSessionFactory">
<property name="host" value="hostname"/>
<property name="port" value="22"/>
<property name="user" value="vkp"/>
<property name="password" value="1234"/>
</bean>
<int-sftp:inbound-channel-adapter id="sftpAdapterAutoCreate"
session-factory="sftpSessionFactory"
channel="requestChannel"
filename-pattern="*.txt"
remote-directory="/tmp/charge/"
local-directory="file:target/charge"
auto-create-local-directory="true"
local-filename-generator-expression="#this.toUpperCase() + '.a'"
delete-remote-files="false">
<int:poller fixed-rate="1000"/>
</int-sftp:inbound-channel-adapter>
官方回购协议中有此示例: 您确实应该确保将扩展名为
.txt
的文件放在远程/tmp/charge/
中
您可能还需要为
org.springframework.integration
打开DEBUG
日志记录级别,以真正确定应用程序中发生了什么。谢谢,它起了作用,我可以看到文件正在轮询,并根据配置将其放置在我的目标/收费文件夹中。但是,我可以问一下,有没有什么方法可以触发我的服务层处理文件并将数据存储在DB中,有没有在目标文件夹中下载文件?请参阅流媒体通道适配器以避免本地文件复制:。要使用文件或其内容激活服务级别,您需要使用服务激活器作为通道适配器输出通道的订户。您可以在提及文档中找到服务激活器定义。