Запретить несколько экземпляров приложения Eclipse RCP

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

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

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

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

Под «одновременным» вы подразумеваете несколько дисплеев, подключенных к компьютеру? SWT не предназначен для этой настройки и не будет работать.

greg-449 17.06.2019 15:03

под одновременным я подразумеваю компьютер, используемый несколькими пользователями одновременно - серверную среду.

Jakg 17.06.2019 15:16
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
2
104
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

здесь доступна библиотека: 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
    }
}

Другие вопросы по теме