Intereting Posts
Можно ли прочитать историю затрат на звонки из диалога, поднятого после окончания предоплаченного вызова? Android: Как установить переключатель spinner для собственного изображения / значка? Элементы списка с закругленными углами Абстрактная плотность ЖК-дисплея Как решить эту ошибку в Android? Java.net.MalformedURLException: протокол не найден: Как использовать дизайн материалов в приложении для Android? Как захватить экран с помощью / dev / graphics / fb0 (Android) Youtube Android Api показывает ошибку Android Floating Action Button API 19 (KitKat) ScheduledExecutorService перестает работать после двух раз Лучше ли использовать встроенные кадровые анимационные методы Android или создавать свои собственные? Когда Android убивает приложение, можно ли остановить функцию наполовину? Как обнаружить левый салфетки и правый салфетки для Stacklayout в Xamarin.Forms? Увеличение номера сборки Android в режиме непрерывной интеграции Proguard Printmapping не работает в Android Studio 2.0.0 (и 2.1.0)

Apache Commons NET: Должен ли я создать новый объект FTPClient для каждого подключения или повторного использования?

Мне просто интересно: в моем приложении Java каждый раз, когда мне нужно подключиться к FTP-серверу, я должен создать новый объект FTPClient или создать один объект FTPClient () и повторно использовать его при каждом подключении к FTP-сервер?

Повторное использование было бы лучше, так как вам не понадобится новый экземпляр каждый раз, когда вы создаете новое соединение, даже на новый сервер. Потому что методы подключения и отключения могут выполнить эту работу за вас.

Поэтому повторно используйте столько объектов, сколько сможете.

Оба будут работать, но библиотеки apache commons.net не являются потокобезопасными , поэтому, если вы используете один клиент с несколькими потоками, имейте в виду, что вам придется синхронизировать доступ к нему.

Не зная точно, что должен делать ваш код (как часто он подключается, сколько файлов ему нужно перевести и т. Д.), Это трудно сказать.

Мое личное мнение было бы одним FTPClient() но подключаться / аутентифицироваться / переносить / отключать каждый раз, когда вам нужно что-то делать (при условии, что между ними будет разумный разрыв). Причиной является то, что сеансы FTP часто имеют довольно короткие тайм-ауты бездействия.