从ftp网关返回没有文件

时间:2016-11-01 16:29:23

标签: spring-integration

我正在尝试从ftp目录中获取所有文件。我的配置:

<bean id="ftpSessionFactory"
    class="org.springframework.integration.ftp.session.DefaultFtpSessionFactory">
    <property name="host" value="ftp.aaaaaa.bb"/>
    <property name="port" value="21"/>
    <property name="clientMode" value="2"/>
    <property name="username" value="XXXXXXX"/>
    <property name="password" value="YYYYYYY"/>
</bean>

<int:channel id="inbound"/>

<int:inbound-channel-adapter channel="inbound" expression="'GB2AV'">
    <int:poller fixed-rate="10000"/>
</int:inbound-channel-adapter>

<int-ftp:outbound-gateway id="gatewayLS"
    session-factory="ftpSessionFactory"
    request-channel="inbound"
    command="ls"
    command-options="-1"
    filename-pattern="*"
    remote-file-separator="\"
    expression="payload"
    reply-channel="outbound">
</int-ftp:outbound-gateway>

<int:channel id="outbound"/>

<int-stream:stdout-channel-adapter channel="outbound" append-newline="true"/>

它对我自己的测试服务器(Ubuntu / vsftp)非常有用。对于生产服务器(未知的操作系统和ftp服务器),我无法获取文件名。调试输出:

2016-11-01 16:58:17.017 DEBUG 3957 --- [ask-scheduler-1] o.s.integration.channel.DirectChannel    : postSend (sent=true) on channel 'outbound', message: GenericMessage [payload=[], headers={file_remoteDirectory=GB2AV\, id=a1a43b85-f086-fd0a-cbbb-a29548578820, timestamp=1478015897017}]
2016-11-01 16:58:17.017 DEBUG 3957 --- [ask-scheduler-1] o.s.integration.channel.DirectChannel    : postSend (sent=true) on channel 'inbound', message: GenericMessage [payload=GB2AV, headers={id=e4e4e425-f25d-e4de-7cd8-8912ecd5151b, timestamp=1478015895998}]
2016-11-01 16:58:17.130 DEBUG 3957 --- [-ClientPoller-0] org.apache.tomcat.util.net.NioEndpoint   : timeout completed: keys processed=0; now=1478015897130; nextExpiration=1478015897125; keyCount=0; hasEvents=false; eval=false
2016-11-01 16:58:17.130 DEBUG 3957 --- [-ClientPoller-1] org.apache.tomcat.util.net.NioEndpoint   : timeout completed: keys processed=0; now=1478015897130; nextExpiration=1478015897125; keyCount=0; hasEvents=false; eval=false
2016-11-01 16:58:18.135 DEBUG 3957 --- [-ClientPoller-1] org.apache.tomcat.util.net.NioEndpoint   : timeout completed: keys processed=0; now=1478015898134; nextExpiration=1478015898130; keyCount=0; hasEvents=false; eval=false
2016-11-01 16:58:18.135 DEBUG 3957 --- [-ClientPoller-0] org.apache.tomcat.util.net.NioEndpoint   : timeout completed: keys processed=0; now=1478015898134; nextExpiration=1478015898130; keyCount=0; hasEvents=false; eval=false
2016-11-01 16:58:19.136 DEBUG 3957 --- [-ClientPoller-0] org.apache.tomcat.util.net.NioEndpoint   : timeout completed: keys processed=0; now=1478015899136; nextExpiration=1478015899134; keyCount=0; hasEvents=false; eval=false
2016-11-01 16:58:19.136 DEBUG 3957 --- [-ClientPoller-1] org.apache.tomcat.util.net.NioEndpoint   : timeout completed: keys processed=0; now=1478015899136; nextExpiration=1478015899134; keyCount=0; hasEvents=false; eval=false
2016-11-01 16:58:20.137 DEBUG 3957 --- [-ClientPoller-1] org.apache.tomcat.util.net.NioEndpoint   : timeout completed: keys processed=0; now=1478015900137; nextExpiration=1478015900136; keyCount=0; hasEvents=false; eval=false
2016-11-01 16:58:20.137 DEBUG 3957 --- [-ClientPoller-0] org.apache.tomcat.util.net.NioEndpoint   : timeout completed: keys processed=0; now=1478015900137; nextExpiration=1478015900136; keyCount=0; hasEvents=false; eval=false
2016-11-01 16:58:21.142 DEBUG 3957 --- [-ClientPoller-0] org.apache.tomcat.util.net.NioEndpoint   : timeout completed: keys processed=0; now=1478015901142; nextExpiration=1478015901137; keyCount=0; hasEvents=false; eval=false
2016-11-01 16:58:21.142 DEBUG 3957 --- [-ClientPoller-1] org.apache.tomcat.util.net.NioEndpoint   : timeout completed: keys processed=0; now=1478015901142; nextExpiration=1478015901137; keyCount=0; hasEvents=false; eval=false
2016-11-01 16:58:22.147 DEBUG 3957 --- [-ClientPoller-0] org.apache.tomcat.util.net.NioEndpoint   : timeout completed: keys processed=0; now=1478015902146; nextExpiration=1478015902142; keyCount=0; hasEvents=false; eval=false
2016-11-01 16:58:22.147 DEBUG 3957 --- [-ClientPoller-1] org.apache.tomcat.util.net.NioEndpoint   : timeout completed: keys processed=0; now=1478015902146; nextExpiration=1478015902142; keyCount=0; hasEvents=false; eval=false
2016-11-01 16:58:23.151 DEBUG 3957 --- [-ClientPoller-1] org.apache.tomcat.util.net.NioEndpoint   : timeout completed: keys processed=0; now=1478015903151; nextExpiration=1478015903146; keyCount=0; hasEvents=false; eval=false
2016-11-01 16:58:23.151 DEBUG 3957 --- [-ClientPoller-0] org.apache.tomcat.util.net.NioEndpoint   : timeout completed: keys processed=0; now=1478015903151; nextExpiration=1478015903146; keyCount=0; hasEvents=false; eval=false
2016-11-01 16:58:24.154 DEBUG 3957 --- [-ClientPoller-0] org.apache.tomcat.util.net.NioEndpoint   : timeout completed: keys processed=0; now=1478015904154; nextExpiration=1478015904151; keyCount=0; hasEvents=false; eval=false
2016-11-01 16:58:24.154 DEBUG 3957 --- [-ClientPoller-1] org.apache.tomcat.util.net.NioEndpoint   : timeout completed: keys processed=0; now=1478015904154; nextExpiration=1478015904151; keyCount=0; hasEvents=false; eval=false
2016-11-01 16:58:25.159 DEBUG 3957 --- [-ClientPoller-0] org.apache.tomcat.util.net.NioEndpoint   : timeout completed: keys processed=0; now=1478015905159; nextExpiration=1478015905154; keyCount=0; hasEvents=false; eval=false
2016-11-01 16:58:25.159 DEBUG 3957 --- [-ClientPoller-1] org.apache.tomcat.util.net.NioEndpoint   : timeout completed: keys processed=0; now=1478015905159; nextExpiration=1478015905154; keyCount=0; hasEvents=false; eval=false
2016-11-01 16:58:25.995 DEBUG 3957 --- [ask-scheduler-3] o.s.i.e.SourcePollingChannelAdapter      : Poll resulted in Message: GenericMessage [payload=GB2AV, headers={id=ec5a8b67-1b8e-d675-ad3e-e0ee5f4f955d, timestamp=1478015905995}]
2016-11-01 16:58:25.995 DEBUG 3957 --- [ask-scheduler-3] o.s.integration.channel.DirectChannel    : preSend on channel 'inbound', message: GenericMessage [payload=GB2AV, headers={id=ec5a8b67-1b8e-d675-ad3e-e0ee5f4f955d, timestamp=1478015905995}]
2016-11-01 16:58:25.995 DEBUG 3957 --- [ask-scheduler-3] o.s.i.ftp.gateway.FtpOutboundGateway     : org.springframework.integration.ftp.gateway.FtpOutboundGateway#0 received message: GenericMessage [payload=GB2AV, headers={id=ec5a8b67-1b8e-d675-ad3e-e0ee5f4f955d, timestamp=1478015905995}]
2016-11-01 16:58:26.032 DEBUG 3957 --- [ask-scheduler-3] o.s.i.f.s.DefaultFtpSessionFactory       : Connected to server [ftp.aaaaaaa.bb:21]
2016-11-01 16:58:26.159 DEBUG 3957 --- [-ClientPoller-0] org.apache.tomcat.util.net.NioEndpoint   : timeout completed: keys processed=0; now=1478015906159; nextExpiration=1478015906159; keyCount=0; hasEvents=false; eval=false
2016-11-01 16:58:26.159 DEBUG 3957 --- [-ClientPoller-1] org.apache.tomcat.util.net.NioEndpoint   : timeout completed: keys processed=0; now=1478015906159; nextExpiration=1478015906159; keyCount=0; hasEvents=false; eval=false
2016-11-01 16:58:26.828 DEBUG 3957 --- [ask-scheduler-3] o.s.integration.channel.DirectChannel    : preSend on channel 'outbound', message: GenericMessage [payload=[], headers={file_remoteDirectory=GB2AV\, id=08ff9eb6-31e2-a575-a3ef-91ad4616f5f0, timestamp=1478015906828}]
2016-11-01 16:58:26.828 DEBUG 3957 --- [ask-scheduler-3] i.s.CharacterStreamWritingMessageHandler : org.springframework.integration.stream.CharacterStreamWritingMessageHandler#0 received message: GenericMessage [payload=[], headers={file_remoteDirectory=GB2AV\, id=08ff9eb6-31e2-a575-a3ef-91ad4616f5f0, timestamp=1478015906828}]

手动连接到ftp服务器时,我可以使用cd GB2AV更改目录,并使用ls显示此目录中的所有文件。我也尝试过各种文件分隔符等组合。

使用org.apache.commons.net.ftp.FTPClient时,我必须使用.listNames()返回String[]而不是.listFiles(),这会在我的情况下返回一个空对象。

我可以在网关配置中做些什么,还是听起来像服务器端缺少功能支持?

0 个答案:

没有答案