防止 Eclipse RCP 应用程序的多个实例



我想做一个只打开一次的RCP应用程序。

如果再次打开它,它将焦点(理想情况下传递提供的参数(放在原始窗口上。

我的用例涉及同一台计算机上的多个并发用户(具有自己的用户帐户(,因此我认为打开端口的路线不起作用。

我正在使用 RCP4 - 我在网上看到的很多现有的东西都是 RCP3 或更早的。

这里有一个库: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
    }
}

最新更新