Java: finalizador para una clase?

Tengo una clase que tiene una referencia estática al ApplicationContext de Spring. Necesito borrar ese contexto y ejecutar el método de destrucción de sus beans únicos cuando la clase está a punto de descargarse. Entonces, ¿hay alguna devolución de llamada de finalizador de nivel de clase que se llama cuando la clase se descarga, para que pueda borrar el contexto en esa devolución de llamada?

Tengo una vaga idea de usar WeakReferenceQueue y un contador para realizar un seguimiento de los objetos no referenciados de esa clase para poder detectar cuándo la clase no tiene objetos vivos, pero eso todavía no me dirá cuándo la clase en sí está descargada.

Respuesta 1

Entonces, ¿hay alguna devolución de llamada de finalizador de nivel de clase que se llama cuando la clase se descarga.

Miré en los lugares obvios y, por lo que puedo decir, no hay tal devolución de llamada. Y no puedo pensar en una manera de implementar uno, aparte de piratear la JVM.

Respuesta: 2

Así que esta es la primera vez que publico aquí, así que espero que puedan ayudarme, de todos modos aquí está mi código: System.out.println ("¿Desea ejecutar? (Ingrese y para ejecutar):"); Scanner scan = ...

Creé una aplicación Spring Boot 2.1.3 con i18n habilitado, agregué devtools e instalé la extensión Firefox LiveReload. Desafortunadamente, cuando cambio mis plantillas Thymeleaf o los mensajes i18n, ...

He creado una aplicación Swing en mi máquina Windows de 7-64 bits y ahora estoy tratando de que funcione correctamente en una caja de Linux con Redhat CentOS. El código está debajo: import javax.swing.JButton; ...

En el contexto de un desarrollo de Android utilizando la base de datos Cloud Firestore, estoy escribiendo el método get (int id): MyDO de mi clase DAO. Dado que, en Firestore, todas las operaciones son asíncronas, el uso ...