En Java util logging, inicio el controlador en init() y cierro el controlador en destroy() y funciona perfectamente bien: se creó un archivo de registro, etc. Si el usuario actualiza la página normalmente, solo crea un archivo de registro.Java applet: Cómo asegurarse de que la destrucción finalice antes de la actualización de la página
Sin embargo, si el usuario refresca la página con el applet un par de veces rápido, parece que destroy() no se llama o quizás no ha terminado la tarea y desde que se llama de nuevo a init(), asume que el archivo anterior todavía está bloqueado y crea un nuevo archivo de registro.
Intenté usar tanto destroy() como finalize() para cerrar el controlador pero no funciona. ¿Alguien tiene alguna idea de cómo resolver este problema?
Otra pregunta menor es: ¿Qué pasó realmente si init() no ha finalizado y la página se actualiza? ¿Va a continuar el proceso y eventualmente falla al llamar a destroy() o simplemente se detiene allí mismo?
¿Podría agregar al código de pregunta de sus métodos "init" y "destruir"? Al menos partes sobre el manejador de registro. –