Мне бы хотелось, чтобы одновременно запускался только один экземпляр моего приложения Java Swing. Если открывается второй экземпляр, я бы хотел, чтобы он передавал свои аргументы уже запущенному экземпляру. Как я могу сделать это, используя красивый, чистый Java API? (Я бы предпочел не реализовывать это самостоятельно, используя сокеты или блокировки файловой системы).
Я видел несколько решений для принудительного применения одного экземпляра в Java, но единственное, что мне известно о том, что он передает аргументы запущенному экземпляру, использует SingleInstanceService JNLP, и я не пишу Java запускает веб-приложение, поэтому я не могу его использовать (при попытке получить исключение NullPointerException).