Dans une bibliothèque Java 7, j'ai une classe qui fournit des services à d'autres classes. Après avoir créé une instance de cette classe de service, une de ses méthodes peut être appelée plusieurs fois (appelons-la la doWork()
méthode). Donc, je ne sais pas quand le travail de la classe de service est terminé.
Le problème est que la classe de service utilise des objets lourds et qu'elle devrait les libérer. J'ai mis cette partie dans une méthode (appelons-la release()
), mais il n'est pas garanti que d'autres développeurs l'utilisent.
Existe-t-il un moyen de forcer les autres développeurs à appeler cette méthode après avoir terminé la tâche de classe de service? Bien sûr, je peux documenter cela, mais je veux les forcer.
Remarque: Je ne peux pas appeler la release()
méthode dans la doWork()
méthode, car elle a doWork()
besoin de ces objets lors de son appel suivant.
AutoCloseable
a été fait dans ce but précis.