如何在不使用 spring 引导的情况下使用 spring 集成从 sftp 服务器下载文件
how to download file from sftp server using spring integration without using spring boot
我有一个要求,我想使用 spring 集成但 不想使用 spring boot 从 sftp 服务器下载文件.
我在这里使用 jcraft 库。想要使用 spring-集成库。
public void downloadFileFromSftpServer () {
String hostname = "XXX";
String username = "XXX";
String password = "XXX";
String copyFrom = "XXX";
String copyTo = "XXX";
JSch jsch = new JSch();
Session session;
System.out.println("Trying to connect.....");
try {
session = jsch.getSession(username, hostname, 22);
session.setConfig("StrictHostKeyChecking", "no");
session.setPassword(password);
session.connect();
Channel channel = session.openChannel("sftp");
channel.connect();
System.out.println ("Connection successful.");
ChannelSftp sftpChannel = (ChannelSftp) channel;
Vector <ChannelSftp.LsEntry> vector = (Vector<ChannelSftp.LsEntry>) sftpChannel.ls(copyFrom);
ChannelSftp.LsEntry list = vector.get(0);
System.out.println(list.getFileName());
String oldestFile =list.getFilename();
sftpChannel.get(copyFrom+oldestFile, copyTo);
}
见Spring Integration Documentation。它也使用 jsch。
不需要Spring引导,可以在任何Java/JVM应用程序中使用; Spring 集成存在的时间比 Spring Boot 长得多。
我有一个要求,我想使用 spring 集成但 不想使用 spring boot 从 sftp 服务器下载文件. 我在这里使用 jcraft 库。想要使用 spring-集成库。
public void downloadFileFromSftpServer () {
String hostname = "XXX";
String username = "XXX";
String password = "XXX";
String copyFrom = "XXX";
String copyTo = "XXX";
JSch jsch = new JSch();
Session session;
System.out.println("Trying to connect.....");
try {
session = jsch.getSession(username, hostname, 22);
session.setConfig("StrictHostKeyChecking", "no");
session.setPassword(password);
session.connect();
Channel channel = session.openChannel("sftp");
channel.connect();
System.out.println ("Connection successful.");
ChannelSftp sftpChannel = (ChannelSftp) channel;
Vector <ChannelSftp.LsEntry> vector = (Vector<ChannelSftp.LsEntry>) sftpChannel.ls(copyFrom);
ChannelSftp.LsEntry list = vector.get(0);
System.out.println(list.getFileName());
String oldestFile =list.getFilename();
sftpChannel.get(copyFrom+oldestFile, copyTo);
}
见Spring Integration Documentation。它也使用 jsch。
不需要Spring引导,可以在任何Java/JVM应用程序中使用; Spring 集成存在的时间比 Spring Boot 长得多。