Prevenir el lanzamiento de varias instancias de una aplicación java

Quiero evitar que el usuario ejecute mi aplicación Java varias veces en paralelo.

Para evitar esto, he creado un archivo de bloqueo cuando abro la aplicación y elimino el archivo de bloqueo al cerrar la aplicación.

Cuando la aplicación se está ejecutando, no puede abrir otra instancia de jar. Sin embargo, si elimina la aplicación a través del administrador de tareas, el evento de cierre de la ventana en la aplicación no se activa y el archivo de bloqueo no se elimina.

¿Cómo puedo asegurarme de que el método del archivo de bloqueo funciona o qué otro mecanismo podría usar?

Respuestas a la pregunta(9)

Su respuesta a la pregunta