The JUnique library can be used to prevent a user to run at the same time more instances of the same Java application.
JUnique implements locks and communication channels shared between all the JVM instances launched by the same user.
...
Last Release on Apr 24, 2018