我们有一个基于 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/