如何在不使用 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 长得多。