Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring SFTP集成未轮询该文件_Java_Spring_Spring Integration_Sftp - Fatal编程技术网

Java Spring SFTP集成未轮询该文件

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&

我必须在我的应用程序中集成Spring SFTP。其思想是侦听SFTP路径,如果SFTP中有任何文件被丢弃,则读取该文件并更新DB表。但我认为Spring SFTP inbound是在系统之间传输文件。我找不到一个好的例子来说明如何做到这一点。 下面是我正在尝试的配置,但即使在放置此xml配置之后,也没有发生任何事情。我需要XML配置中的所有内容。 有人能给我举个例子说明如何实现这一点,或者我如何修改配置以实现同样的效果

<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中,有没有在目标文件夹中下载文件?请参阅流媒体通道适配器以避免本地文件复制:。要使用文件或其内容激活服务级别,您需要使用服务激活器作为通道适配器输出通道的订户。您可以在提及文档中找到服务激活器定义。