java - netbeans 平台应用程序的多个实例

标签 java netbeans-platform netbeans-plugins

我们有一个基于 netbeans 平台构建的桌面应用程序,运行良好。现在客户想要打开应用程序的多个实例 同一时间。我们目前正在评估这些要求。 我们已经确定的一种可能性是将可执行文件和依赖项复制到特定的用户目录。 例如 C:\Users\userid\AppData\Roaming\app1,C:\Users\userid\AppData\Roaming\app2 这样。

我们的应用程序中也很少有单例类。单例是每个 jvm 一个,它将如何影响同一台机器上的两个不同实例。 我们有2个问题 1. 处理 netbeans 平台应用程序的多个实例的最佳做法是什么? 2. 我们如何管理单例类?

最佳答案

要运行 NetBeans 平台应用程序的多个实例,请将 --userdir 添加到命令行。在 Windows 上,这很容易通过为您的应用程序创建两个快捷方式并将用户目录添加到目标字段来完成。

app.exe --userdir %APPDATA%\app1
app.exe --userdir %APPDATA%\app2

无需将可执行文件和依赖项复制到用户目录。这种方法的缺点是每个实例都有自己的应用程序设置副本。如果您需要更改设置,则必须在两个应用程序中进行编辑。

每个平台应用程序都有自己的一组单例实例。一个应用程序中的单例不会知道另一个应用程序中单例的存在。例如,如果单例试图在两个应用程序中获得对文件或网络端口的独占访问权,您可能会遇到麻烦。

关于java - netbeans 平台应用程序的多个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38711390/

相关文章:

java - NetBeans 平台 : How to register hidden file types

java - 启用/禁用另一个操作的操作

plugins - Netbeans 7.0 的 UML 插件?

java - Selenium WebDriver 线程安全吗?

java - Netbeans 8.2 (RCP) 支持的最新 JDK 版本是什么?

java - NetBeans OpenGL Pack 中缺少 GLCanvas 和其他 JOGL 类吗?

netbeans - 如何通过 CLI 安装 NetBeans 插件?

java - JXTable 和滚动条上方的标题单元格

java - Netflix Eureka Server 未使用 JDK 11 作为 Spring-Boot 应用程序启动。但同样在 JDK1.8 上运行

java - 使用 jackson 转换 Java 对象时如何忽略可选属性