Czy istnieje zalecany wzorzec do zamykania/zamykania obiektów utworzonych za pomocą Guice?Dożywotnie zarządzanie za pomocą Google Guice
Cykl życia mam nastawione na to:
- Przygotuj moduł Guice
- Załóż wtryskiwacz
- Użyj wtryskiwacz poprzez kod w celu uzyskania przedmiotów (
injector.getInstance(Foo.class)
) - ...
- Zamknij wszystkie zasoby posiadane przez te obiekty (uchwyty plików, połączenia TCP itp.). Chcę, aby był to deterministyczny krok (nie "pewnego dnia, kiedy działa GC").
Możesz chcieć dodać przykładowy kod do twojego pytania, bo naprawdę nie rozumiem tego, co masz na myśli. – dlinsin
Dodano więcej szczegółów. – ripper234
"Użyj wtryskiwacza przez swój kod, aby uzyskać obiekty (injector.getInstance (Foo.class))" - to jest zdecydowanie * nie * w jaki sposób Guice, lub dowolna DI, jest przeznaczona do użycia. To tylko lokalizator usług. Powinien być budowany wykres obiektów, a wtryskiwacz powinien być tworzony i odwoływać się tylko do klasy root bootstrapper. – ColinD