Me pregunto: en mi aplicación Java, cada vez que necesito conectarme a un servidor FTP, debería crear un nuevo objeto FTPClient, o debería crear un objeto FTPClient() y volver a usarlo cada vez que me conecto a un servidor FTP?Apache Commons NET: ¿Debo crear un nuevo objeto FTPClient en cada conexión o reutilizar uno?
Respuesta
La reutilización sería mejor ya que no necesitará una nueva instancia cada vez que cree una nueva conexión, incluso a un nuevo servidor. Porque los métodos de conexión y desconexión pueden hacer el trabajo por usted.
Reutilice tantos objetos como pueda.
Sin saber exactamente qué tiene que hacer su código (con qué frecuencia se conecta, cuántos archivos necesita para transferir, etc.) es difícil de decir.
Mi opinión personal sería una FTPClient()
pero conectar/autenticar/transferir/desconectar cada vez que necesite hacer algo (suponiendo que haya una brecha razonable en el medio). El razonamiento es que las sesiones de FTP a menudo tienen tiempos de inactividad bastante cortos.
Ambos funcionarán, pero las bibliotecas de apache commons.net son not thread safe, por lo que si utiliza un cliente con varios subprocesos, tenga en cuenta que deberá sincronizar el acceso al mismo.
- 1. Apache Commons Net FTPClient y listFiles()
- 2. ¿Reutilizar el objeto XMLHttpRequest o crear uno nuevo?
- 3. Acelerar Apache Commons FTPClient Transfer
- 4. Codificación de nombre de archivo en Apache Commons Net FTPClient
- 5. Supervisión del progreso utilizando Apache Commons FTPClient
- 6. Página con uso intensivo de Ajax: ¿reutilizar el mismo objeto XMLHttpRequest o crear uno nuevo cada vez?
- 7. Uso de FTP Proxy con apache commons-net
- 8. Apache Commons FTP problems
- 9. Apache Commons FTPClient.listFiles
- 10. Apache Commons FTPClient, verifique si existe un directorio remoto y obtenga permisos (linux - unix)
- 11. ¿Debo disponer de un stringwriter? o reutilizar de alguna manera?
- 12. Apache-commons ftp recuperar varios archivos
- 13. ¿Debo compartir el contexto Entidad-Marco o crear un nuevo contexto para cada operación?
- 14. ¿Debo generar un nuevo par de claves SSH para cada estación de trabajo o reutilizar una sola?
- 15. Apache Commons JCI ReloadingClassLoader
- 16. ¿Cómo actualizar el objeto Usuario sin crear uno nuevo?
- 17. ¿Cada uno para el objeto?
- 18. ¿Es mejor crear un nuevo objeto y devolverlo o crear el nuevo objeto en la declaración de devolución?
- 19. Registro controlado para Apache-commons-net lib (Java)
- 20. Empezando desde cero para v2.0. ¿Debo seguir usando el repositorio git existente o comenzar uno nuevo?
- 21. Apache commons daemon error "Error al crear Java"
- 22. Php: ¿Paréntesis al crear un objeto nuevo?
- 23. ¿Debo crear un nuevo objeto para mezclar en un rasgo de Scala?
- 24. ¿Cuáles son las ventajas y desventajas de reutilizar un cursor vs. crear un nuevo cursor?
- 25. ¿Requiere un solo argumento en Apache Commons CLI?
- 26. ¿Debo crear una interfaz para cada modelo?
- 27. Crear referencia al nuevo objeto
- 28. ¿Cómo uso "cada uno" en un objeto Openstruct?
- 29. Alternativas a commons-net FTPSClient?
- 30. lo que es más caro para la memoria. "crear y eliminar objetos" o "reutilizar un objeto"?
Gracias, solo me estaba asegurando :) – AlexPriceAP
Sin embargo, si desea hacer conexiones simultáneas probablemente necesite varias instancias. –
¿Tiene algún dato sobre el costo de crear una nueva instancia, o es solo una suposición? –