package com.cpp.web.utils.sftp;

import cn.hutool.extra.ssh.JschUtil;
import cn.hutool.extra.ssh.Sftp;
import com.jcraft.jsch.ChannelSftp;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.Session;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;

/**
 * 一个临时的sftp控制类
 */
@Data
@Slf4j
public class SftpTool {
    private JSch jsch = new JSch();
    private ChannelSftp channel = null;
    private Session sshSession = null;
    private Sftp sftp = null;

    public void close() {
        if (this.sftp != null) {
            log.info("sftp客户端关闭");
            JschUtil.closeAll();
            sftp.close();
            channel.quit();
            channel.disconnect();
            sshSession.disconnect();
        }
    }
}