В библиотеке Java 7 у меня есть класс, который предоставляет сервисы другим классам. После создания экземпляра этого класса обслуживания один его метод может вызываться несколько раз (назовем его doWork()
методом). Поэтому я не знаю, когда работа класса обслуживания будет завершена.
Проблема в том, что класс обслуживания использует тяжелые объекты и должен их освобождать. Я установил эту часть в методе (давайте назовем его release()
), но не гарантируется, что другие разработчики будут использовать этот метод.
Есть ли способ заставить других разработчиков вызывать этот метод после выполнения задачи класса обслуживания? Конечно, я могу это задокументировать, но я хочу заставить их.
Примечание: я не могу вызвать release()
метод в doWork()
методе, потому что doWork()
нуждается в тех объектах, когда он вызывается в следующем.
AutoCloseable
был сделан именно для этой цели.