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