FTPClientConfigure.java 1.61 KB
package org.nafmii.common.ftp;

import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.pool2.impl.GenericObjectPoolConfig;
import org.springframework.boot.context.properties.ConfigurationProperties;

/**
 * @author by zhangbr
 * @date 2020/7/24.
 */
@EqualsAndHashCode(callSuper = true)
@Data
@ConfigurationProperties("nafmii.ftp")
class FTPClientConfigure extends GenericObjectPoolConfig<FTPClient> {

    /**
     * ftp服务器地址
     */
    private String host;

    /**
     * ftp登录账号
     */
    private String username;

    /**
     * ftp登录密码
     */
    private String password;

    /**
     * ftp服务器端口号,默认为21
     */
    private Integer port = 21;

    /**
     * 上传附件前缀
     */
    private String prefix;

    /**
     * ftp连接超时时间,毫秒,0 = 无限超时
     */
    private int connectTimeOut = 0;

    /**
     * 缓冲区大小
     */
    private int bufferSize = 1024;

    /**
     * 传输文件类型
     */
    private int transferFileType = FTPClient.BINARY_FILE_TYPE;

    /**
     * 编码格式
     */
    private String controlEncoding = "utf-8";

    /**
     * 默认120S
     */
    private int dataTimeout = 120 * 1000;

    /**
     * 是否启用被动模式
     */
    private boolean passiveMode = true;

    /**
     * 开启线程数
     */
    private int threadNum = 8;

    /**
     * 是否上传文件重命名;
     */
    private boolean renameUploaded = false;

    /**
     * 重试次数
     */
    private int retryTimes = 3;

    private boolean ipv4 = false;
}