1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/lliaoliao-ftppool

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Подключение к пулу FTP с использованием common-net и common-pool2

Подключение к пулу FTP с использованием библиотек common-net и common-pool2

Подробное руководство по использованию

Зависимости

    <!-- ftpclient -->
    <dependency>
        <groupId>commons-net</groupId>
        <artifactId>commons-net</artifactId>
        <version>3.6</version>
    </dependency>

    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-pool2</artifactId>
        <version>2.4.2</version>
    </dependency>

Уже скомпилированный пакет

https://gitee.com/lliaoliao/ftppool/raw/master/bin/ftppool-1.0.jar

Класс FTPPool содержит подробное описание вызова.

Пример:

public static void main(String[] args) throws Exception {
    FTPPoolConfig config = new FTPPoolConfig();
    config.setHost("192.168.1.20");
    config.setPort(21);
    config.setUsername("elen");
    config.setPassword("Elen@123");
    config.setPassiveMode("true");
    config.setClientTimeout(300000);
    config.setTransferFileType(2);
    //config.setMaxTotal(10);
    config.setMaxIdle(5);
    config.setMinIdle(1);
    config.setTestOnBorrow(true);
    config.setTestOnReturn(true);
    config.setTestWhileIdle(true);
    config.setNumTestsPerEvictionRun(10);
    config.setTimeBetweenEvictionRunsMillis(60000);

    FTPClientFactory f = new FTPClientFactory();
    f.setConfig(config);
    final FTPPool pool = new FTPPool(config, f);
    for (int i = 20; i > 0; i--) {
        Thread t = new Thread(new Runnable() {

            @Override
            public void run() {
                try {
                    FTPClient ftp = pool.getPool().borrowObject();
                    System.out.println(Thread.currentThread().getName() + "--Получено соединение");
                    Thread.sleep(60000);
                    pool.getPool().returnObject(ftp);
                    System.out.println(Thread.currentThread().getName() + "--Соединение возвращено");
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }, "name--" + i);
        t.start();
    }

    System.out.println("Выполнение завершено");

    Thread.sleep(60000 * 20);

}

Использование в Spring

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
                           http://www.springframework.org/schema/beans/spring-beans.xsd"
       default-autowire="byName">
    <bean id="ftpConfig" class="com.hatchsolution.ftp.pool.FTPPoolConfig">
        <property name="host" value="192.168.1.20"/>
        <property name="port" value="21"/>
        <property name="username" value="elen"/>
        <property name="password" value="Elen@123"/>
        <property name="passiveMode" value="true"/>
        <property name="clientTimeout" value="300000"/>
        <property name="transferFileType" value="2"/>
        <property name="maxTotal" value="10"/>
        <property name="maxIdle" value="5"/>
        <property name="minIdle" value="2"/>
        <property name="testOnBorrow" value="true"/>
        <property name="testOnReturn" value="true"/>
        <property name="testWhileIdle" value="true"/>
        <property name="numTestsPerEvictionRun" value="10"/>
        <property name="timeBetweenEvictionRunsMillis" value="60000"/>
    </bean>

    <bean id="ftpClientFactory" class="com.hatchsolution.ftp.factory.FTPClientFactory">
        <constructor-arg name="config" ref="ftpConfig"></constructor-arg>
    </bean>

    <bean id="ftpPool" class="com.hatchsolution.ftp.pool.impl.FTPPool" scope="singleton">
        <constructor-arg name="factory" ref="ftpClientFactory"></constructor-arg>
    </bean>

    <bean id="ftpUtils" class="com.hatchsolution.ftp.FTPUtils" scope="singleton">
        <property name="pools" ref="ftpPool"/>
    </bean>
</beans>

Этот пуле подключений был создан компанией Jinan Hanchi Information Technology Co., Ltd. В соответствии с принципами открытого исходного кода приветствуем ваши предложения и обсуждение.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

FTP-соединение пула. Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/lliaoliao-ftppool.git
git@api.gitlife.ru:oschina-mirror/lliaoliao-ftppool.git
oschina-mirror
lliaoliao-ftppool
lliaoliao-ftppool
master