2013-01-15 80 views
0

我想從FTP複製文件並希望將其放入本地計算機。入站通道在春季不工作

爲此,我創建了一個入站通道配置是:

<bean name="publishStockSessionFactory" 
     class="org.springframework.integration.ftp.session.DefaultFtpSessionFactory"> 
    <property name="host" 
     value="10.255.255.1" /> 
<property name="port" value="21" /> 
    <property name="username" 
     value="test" /> 
    <property name="password" 
     value="test" /> 
</bean> 

<bean id="stockLocalDirectory" class="java.lang.String"> 
    <constructor-arg 
     value="/opt/test" /> 
</bean> 

<bean id="stockRemoteDirectory" class="java.lang.String"> 
    <constructor-arg 
     value="stock" /> 
</bean> 

<int-ftp:inbound-channel-adapter 
    local-directory="# {stockLocalDirectory}"    
    channel="stockFilesFromFTP" 
    session-factory="publishStockSessionFactory" 
    remote-directory="#{stockRemoteDirectory}" 
    delete-remote-files="true" 
    filename-regex="Stock*.csv" > 
    <int:poller fixed-rate="120000" max-messages-per-poll="100" /> 
</int-ftp:inbound-channel-adapter> 

<int:publish-subscribe-channel id="stockFilesFromFTP" /> 

和錯誤來同時啓動是

INFO | jvm 1 | main | 2013/01/15 22:20:02.715 | 2013-01-15 22:20:02,699 
ERROR task-scheduler-4  ErrorHandler   : failed to send message 
to channel 'stockFilesFromFTP' within timeout: -1 

調試信息開關,我們開啓是

log4j.logger.org.springframework.aop=DEBUG 
org.springframework.integration.channel.DirectChannel=DEBUG 
org.springframework.integration.channel.MessagePublishingErrorHandler=DEBUG 
org.springframework.integration.config.xml.PointToPointChannelParser=DEBUG 

你可以建議我如何調試此錯誤?

回答

0

使用DEBUG級別日誌記錄運行。

您必須在頻道stockFilesFromFTP上至少有一個訂閱者。

+0

由於羅素,上述調試已打開,但日誌中沒有任何信息。我們在上述配置中添加了頻道用戶。這是正確的嗎? – sree

+0

打開所有org.springframework.integration的DEBUG –

+0

Rusell.I打開org.springframework.integration,日誌中沒有與集成相關的信息。如何在入站時找到根本原因。 – sree

0

我對FTPclientfactory bean使用了以下類型的配置。它也有超時參數,所以如果由於連接超時而面臨問題,這將對您有所幫助。

<bean id="testapp.standardFTPClientFactory" class="org.springframework.integration.ftp.DefaultFTPClientFactory" 
     abstract="true"> 
     <property name="host" value="${ftp.host}"/> 
     <property name="username" value="${ftp.username}"/> 
     <property name="password" value="${ftp.password}"/> 
     <property name="port" value="${ftp.port}"/> 
     <property name="remoteWorkingDirectory" value="${ftp.remotedir}"/> 
     <property name="dataTimeout" value="3600000"/> 
     <property name="connectTimeout" value="${ftp.connectTimeout}"/> 
     <property name="clientMode" value="2"/> 
</bean>