这是我的主要课程
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时正在下载..
答案 0 :(得分:0)
试试这个:
remote-directory="ftps://portal.********.com/foldername/"
或
remote-directory="sftp://portal.********.com/foldername/"
答案 1 :(得分:0)
正确的语法是remote-directory="/ftpSample/"
- 您不需要URL,因为会话工厂指定了连接。
您确定需要领先的/
,是remote-directory="ftpSample/"
吗?
启用DEBUG日志记录并检查服务器日志。