Предотвратить несколько экземпляров приложения Eclipse RCP - PullRequest
0 голосов
/ 17 июня 2019

Я хотел бы сделать приложение RCP, которое открывается только один раз.

Если вы откроете его снова, он фокусируется (в идеале, проходя через предоставленные аргументы) на исходном окне.

В моем сценарии использования участвуют несколько одновременно работающих пользователей (с их собственными учетными записями) на одном компьютере, поэтому я не думаю, что способ открытия порта будет работать.

Я использую RCP4 - многие из существующих материалов, которые я видел в Интернете, - это RCP3 или старше.

1 Ответ

1 голос
/ 15 июля 2019

библиотека доступна здесь: http://www.sauronsoftware.it/projects/junique/

Библиотека JUnique может использоваться для предотвращения одновременного запуска пользователем нескольких экземпляров одного и того же Java-приложения.

Пример того, как это используется здесь:

public static void main(String[] args) {
    String appId = "myapplicationid";
    boolean alreadyRunning;
    try {
        JUnique.acquireLock(appId);
        alreadyRunning = false;
    } catch (AlreadyLockedException e) {
        alreadyRunning = true;
    }
    if (!alreadyRunning) {
        // Start sequence here
    }
}
...