Java 7'deki bir kütüphanede diğer sınıflara hizmet veren bir sınıfa sahibim. Bu hizmet sınıfının bir örneğini oluşturduktan sonra, bunun bir yöntemi birkaç kez çağrılabilir (hadi yöntem olarak adlandıralım doWork()). Bu yüzden hizmet sınıfının çalışması ne zaman biter bilmiyorum.
Sorun, servis sınıfının ağır nesneler kullanması ve onları serbest bırakmasıdır. Bu kısmı bir yöntemde belirledim (diyelim release()), ancak diğer geliştiricilerin bu yöntemi kullanacağı garanti edilmez.
Servis sınıfının görevini tamamladıktan sonra diğer geliştiricileri bu yöntemi çağırmaya zorlamanın bir yolu var mı? Tabii ki bunu belgeleyebilirim ama onları zorlamak istiyorum.
Not: release()Yöntemdeki yöntemi doWork()çağıramıyorum, çünkü doWork() daha sonra çağrıldığında bu nesnelere ihtiyaç duyuyor.
AutoCloseablebu amaç için yapılmıştır.