与ftp服务器连接,但文件没有在Spring集成中下载任何人都可以解决这个问题吗?

时间:2016-12-19 09:09:08

标签: java ftp spring-integration

这是我的主要课程

public class FtpInboundChannelAdapterSample {

private static final Logger LOGGER = LoggerFactory.getLogger(FtpInboundChannelAdapterSample.class);
public static void main(String[] args) throws Exception {
    FtpInboundChannelAdapterSample ftp=new FtpInboundChannelAdapterSample();
    ftp.ftpDownload();



}

public void ftpDownload() throws Exception {
    ConfigurableApplicationContext ctx = new ClassPathXmlApplicationContext(
            "META-INF/spring/integration/FtpInboundChannelAdapterSample-context.xml");

    PollableChannel ftpChannel = ctx.getBean("ftpChannel", PollableChannel.class);


    System.out.println("Files are transferred ");
    ctx.close();
}

}

我的.xml如下

<bean id="ftpClientFactory" class="org.springframework.integration.ftp.session.DefaultFtpSessionFactory">
    <property name="host" value="${host}"/>
    <property name="port" value="${availableServerPort}"/>
    <property name="username" value="${userid}"/>
    <property name="password" value="${password}"/>
</bean>

<int-ftp:inbound-channel-adapter id="ftpInbound"
            channel="ftpChannel"
            session-factory="ftpClientFactory"
            filename-pattern="*.*"
            auto-create-local-directory="true"
            delete-remote-files="false"
            remote-directory="ftp://portal.********.com/foldername/"
            local-directory="${localDir}">
        <int:poller fixed-rate="1000"/>
</int-ftp:inbound-channel-adapter>



<int:channel id="ftpChannel">
    <int:queue/>
</int:channel>

这是一种提供远程目录路径的方法吗?

远程目录=&#34; FTP://portal.********.com/foldername/"

远程目录=&#34; / ftpSample /&#34;

我尝试了两种,但没有从服务器下载

如果我在使用带有FileZilla服务器的localhost时正在下载..

2 个答案:

答案 0 :(得分:0)

试试这个:
remote-directory="ftps://portal.********.com/foldername/"
remote-directory="sftp://portal.********.com/foldername/"

答案 1 :(得分:0)

正确的语法是remote-directory="/ftpSample/" - 您不需要URL,因为会话工厂指定了连接。

您确定需要领先的/,是remote-directory="ftpSample/"吗?

启用DEBUG日志记录并检查服务器日志。