W bibliotece w Javie 7 mam klasę, która świadczy usługi dla innych klas. Po utworzeniu instancji tej klasy usługi można wywołać kilka jej doWork()
metod (nazwijmy ją metodą). Nie wiem więc, kiedy zakończy się praca klasy usług.
Problem polega na tym, że klasa usług używa ciężkich przedmiotów i powinna je zwolnić. Ustawiłem tę część w metodzie (nazwijmy ją release()
), ale nie ma gwarancji, że inni programiści użyją tej metody.
Czy istnieje sposób zmuszenia innych programistów do wywołania tej metody po zakończeniu zadania klasy usług? Oczywiście mogę to udokumentować, ale chcę je zmusić.
Uwaga: Nie mogę wywołać release()
metody w doWork()
metodzie, ponieważ doWork()
potrzebuje tych obiektów, gdy zostanie wywołana w następnej kolejności.
AutoCloseable
został stworzony do tego właśnie celu.