Spring SFTP 连接 - 从 SFTP 服务器获取文件
Spring SFTP connection - get file from SFTP server
我是 spring 的新手。我正在使用 spring 从远程服务器获取文件。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:int="http://www.springframework.org/schema/integration"
xmlns:sftp="http://www.springframework.org/schema/integration/sftp"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/integration
http://www.springframework.org/schema/integration/spring-integration.xsd
http://www.springframework.org/schema/integration/sftp
http://www.springframework.org/schema/integration/sftp/spring-integration-sftp-2.2.xsd">
<bean id="sftpSessionFactory"
class="org.springframework.integration.sftp.session.DefaultSftpSessionFactory">
<property name="host" value="xxxxxxxx" />
<property name="user" value="wildfly" />
<property name="password" value="w!ldfly" />
<property name="port" value="22" />
</bean>
<int:channel id="sftpChannel" />
<sftp:inbound-channel-adapter id="triggerFtpInBound" auto-create-local-directory="true"
local-directory="/tmp/test" filename-pattern="*" channel="sftpChannel"
session-factory="sftpSessionFactory" remote-directory="/home/wildfly" delete-remote-files="true">
<int:poller cron="1/10 * * * * *" max-messages-per-poll="1" />
</sftp:inbound-channel-adapter>
我正在使用以下代码。
ApplicationContext context = new ClassPathXmlApplicationContext("spring/config/spring-sftp.xml");
当我 运行 它时我没有收到任何错误,但我也没有复制任何文件。请让我知道我的代码中的错误。提前致谢。
光看静态配置很难调试。
第一步是打开 org.springframework.integration
的 DEBUG 日志记录,看看发生了什么。
如果您无法从日志中找出答案,post 他们;如果此处太大,请使用 github 要点、pastebin 或类似工具。
Spring 集成在底层使用了jsch;您可以按照 in the reference manual.
所述启用其日志记录
添加 "KnownHosts" 属性 解决了我的问题。我正在传输文件。
<property name="knownHosts" value = "C:\knownhosts"/>
我是 spring 的新手。我正在使用 spring 从远程服务器获取文件。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:int="http://www.springframework.org/schema/integration"
xmlns:sftp="http://www.springframework.org/schema/integration/sftp"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/integration
http://www.springframework.org/schema/integration/spring-integration.xsd
http://www.springframework.org/schema/integration/sftp
http://www.springframework.org/schema/integration/sftp/spring-integration-sftp-2.2.xsd">
<bean id="sftpSessionFactory"
class="org.springframework.integration.sftp.session.DefaultSftpSessionFactory">
<property name="host" value="xxxxxxxx" />
<property name="user" value="wildfly" />
<property name="password" value="w!ldfly" />
<property name="port" value="22" />
</bean>
<int:channel id="sftpChannel" />
<sftp:inbound-channel-adapter id="triggerFtpInBound" auto-create-local-directory="true"
local-directory="/tmp/test" filename-pattern="*" channel="sftpChannel"
session-factory="sftpSessionFactory" remote-directory="/home/wildfly" delete-remote-files="true">
<int:poller cron="1/10 * * * * *" max-messages-per-poll="1" />
</sftp:inbound-channel-adapter>
我正在使用以下代码。
ApplicationContext context = new ClassPathXmlApplicationContext("spring/config/spring-sftp.xml");
当我 运行 它时我没有收到任何错误,但我也没有复制任何文件。请让我知道我的代码中的错误。提前致谢。
光看静态配置很难调试。
第一步是打开 org.springframework.integration
的 DEBUG 日志记录,看看发生了什么。
如果您无法从日志中找出答案,post 他们;如果此处太大,请使用 github 要点、pastebin 或类似工具。
Spring 集成在底层使用了jsch;您可以按照 in the reference manual.
所述启用其日志记录添加 "KnownHosts" 属性 解决了我的问题。我正在传输文件。
<property name="knownHosts" value = "C:\knownhosts"/>