Elvis is a Java class library that you can use to ensure that, for a given user on a given system, at most one instance of a particular Java application is running at any one time.
Elvis 0.10 is an alpha level release - please see the release notes for a list of what's missing.