java - SingleInstanceListener 不适用于 OpenJDK 1.8 和 IcedTea webstart
问题描述
我有我的 JNLP 应用程序,它与 Oracle JDK 完美配合。但是当我尝试使用 openJDK 1.8.0.252 和 IcedTea WS(openJDK 默认提供)运行它时。
我看到我的应用程序可以使用多个实例启动,尽管有 SingleInstanceListener 的实现。
我从来没有在控制台中打印过记录器“Start newActivation method”。我还想(尝试)使用参数启动应用程序。谁能帮我这个
代码 ::
// Code from Main class
private void startSingleInstance() {
log.info("Initializing single instance Web Start");
boolean didAddListener = false;
final SingleInstanceListener singleInstanceListener = new SingleInstanceListener() {
@Override
public void newActivation(String[] args) {
log.info("Start newActivation method");
log.info("newActivation(args:{}) in env {} Frame visible? {}",
new Object[] {args, System.getProperty("app.environment"), frame != null ? frame.isVisible() : false});
if (args.length > 1) {
// some logic
}
SwingHelper.frameToFront(frame);
}
};
try {
SingleInstanceService singleInstanceService =
(SingleInstanceService) ServiceManager.lookup("javax.jnlp.SingleInstanceService");
log.info("singleInstanceService {} ",singleInstanceService);
// add the listener to this application!
log.info("Add singleInstanceListener");
singleInstanceService.addSingleInstanceListener(singleInstanceListener);
didAddListener = true;
} catch (UnavailableServiceException e) {
log.info("Unable to register single WebStart instance (Not Web Start environment?).");
}
解决方案
在OpenWebStart 存储库中,您可以找到当前讨论 SingleInstanceListener 应该如何工作的问题。由于维护 OpenWebStart 的人与维护 IcedTeaWeb 的人相同,因此如果您可以在该问题中添加您的输入会很好:)
推荐阅读
- javascript - 迁移到 macOS 时出错:TypeError: Cannot read property 'apply' of undefined
- javascript - JavaScript中.sort的解释
- python - Python修改列表超出类的范围
- c++ - 使 OpenSSL 服务器只接受来自已经拥有服务器公共证书的客户端的连接
- excel - VBA - 根据列标题从多个工作表复制列值。
- amp-html - 从 Google 提供时为空的 amp-list
- excel - 两种不同用户形式的 VBA ComboBox 到 TextBox
- angular - 构造函数中的 Angular 服务调用 API - Jasmine 测试
- neo4j - 使用 Neo4j 确定不同的集群
- javascript - 切换菜单不适用于汉堡菜单