Есть ли рекомендуемый шаблон для выключения/закрытия объектов, созданных с помощью Guice?
Жизненный цикл, к которому я стремлюсь:
- Подготовьте модуль Guice
- Создать инжектор
- Используйте инжектор через свой код для получения объектов (
injector.getInstance(Foo.class)
) - ...
- Закройте все ресурсы, удерживаемые указанными объектами (дескрипторы файлов, TCP-соединения и т. д.). Я хочу, чтобы это был детерминированный шаг (а не «когда-нибудь, когда запустится GC»).