¿Existe un patrón recomendado para cerrar/cerrar objetos creados con Guice?Gestión de por vida con Google Guice
El ciclo de vida que estoy con el objetivo de es:
- Preparar un módulo de Guice
- Crear un inyector
- Uso del inyector a través de su código para obtener objetos (
injector.getInstance(Foo.class)
) - ...
- Cierre todos los recursos mantenidos por dichos objetos (manejadores de archivos, conexiones TCP, etc.). Quiero que este sea un paso determinista (no "algún día cuando se ejecute el GC").
Es posible que desee añadir un código de ejemplo a su pregunta, porque yo realmente no entiendes lo que quieres decir. – dlinsin
Se agregaron más detalles. – ripper234
"Utilice el inyector a través de su código para obtener objetos (injector.getInstance (Foo.class))" - esto es decididamente * no * cómo Guice, o cualquier DI, está destinado a ser utilizado. Eso es solo un localizador de servicios. Debería estar construyendo su gráfico de objetos y el inyector solo debería crearse y referenciarse en alguna clase de arranque root. – ColinD