我们的项目使用 ftp:inbound-channel-adapter 从 FTP 服务器轮询文件。它工作正常。但在轮询之间不起作用。当我看到 FTP 服务器日志时,我看到“425 无法打开数据连接” ”。现在,当我重新启动或停止并再次启动 ftp:inbound-channel-adapter 时,它会正确轮询。此问题反复发生以解决我需要停止/启动 ftp:inbound-channel-adapter.ftp:inbound-channel-adapter运行在linux操作系统中。
我使用 spring-integration 3 只是为了更清楚我已经包含了 xsd 信息
(spring-integration-3.0.xsd、spring-integration-ftp-3.0.xsd)
我需要为 FTP 设置任何特定的客户端模式,即主动(本地/远程)/被动(本地/远程)等吗?
下面是我的 ftp:inbound-channel-adapter 配置
<bean id="ftpClientFactory" class="org.springframework.integration.ftp.session.DefaultFtpSessionFactory">
<property name="host" value="abcd.com"/>
<property name="port" value="21"/>
<property name="username" value="userid"/>
<property name="password" value="password"/>
</bean>
<int-ftp:inbound-channel-adapter id="ftpInbound"
channel="ftpChannel"
session-factory="ftpClientFactory"
auto-create-local-directory="true"
delete-remote-files="true"
remote-directory="/"
local-filename-generator-expression="new java.text.SimpleDateFormat('yyyy-MM-dd-hhmmssSSS').format(new java.util.Date()) + '.'+ #this"
local-directory="${ftp.sync.folder}"
remote-file-separator="/">
</int-ftp:inbound-channel-adapter>
所以不确定我可以在 FTP 服务器中执行某些操作。但我想看看 ftp:inbound-channel-adapter 中是否有任何选项或您建议的任何内容,以便每当 FTP 服务器抛出“425 无法打开数据连接”时。 ”除了手动停止/启动 ftp:inbound-channel-adapter 之外,是否有任何选项或自动方法可以使其工作。谢谢
添加了有关 spring 集成版本和 ftp 会话工厂的信息。
连接FTP服务器有主动和被动两种方式。
ActiveMode :FTP 服务器必须与客户端提到的端口建立数据连接
(防火墙问题,如果端口被防火墙阻止,您将收到 425 数据连接错误)
被动模式:客户端必须与 FTP 服务器提到的端口建立数据连接。
(客户端没有公平墙问题。我们还可以在 FTP 服务器中配置 passvieports,并使这些端口不被 FTP 服务器防火墙阻止。)
如果您未在 ftpsessionfactory 中指定任何 clientmode,则默认为 Active 模式,即 clientMode=0。
所以我有防火墙问题,导致 425 数据连接问题。在我关闭防火墙后,它运行良好。所以现在我更改了我的 FTPsessionfactory 以使用被动模式,因此 FTP 服务器从不关心客户端防火墙
<bean id="ftpClientFactory" class="org.springframework.integration.ftp.session.DefaultFtpSessionFactory">
<property name="host" value="abcd.com"/>
<property name="port" value="21"/>
<property name="username" value="userid"/>
<property name="password" value="password"/>
<!-- 2 passive mode -->
<property name="clientMode" value="2"/>
</bean>
这种方式从不关心客户端的防火墙。
关于 FTP 的非常好的帖子http://slacksite.com/other/ftp.html http://slacksite.com/other/ftp.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)