¿Cómo permitir ejecutar solo una instancia de un programa Java a la vez?

Necesito evitar que los usuarios inicien mi aplicación Java (aplicación WebStart Swing) varias veces. Entonces, si la aplicación ya se está ejecutando, no debería ser posible iniciarla nuevamente o mostrar una advertencia / volver a cerrar.

¿Hay alguna forma conveniente de lograr esto? Pensé en bloquear un puerto o escribir algo en un archivo. ¿Pero con suerte puede acceder a algunas propiedades del sistema o la JVM?

btw. la plataforma de destino es Windows XP con Java 1.5