运行 重复的 JavaWS 应用程序
Running Duplicate JavaWS Applications
总结:你如何运行复制JavaWS应用程序(它们来自相同的源代码但使用不同的数据)机器?
我在客户站点上有一个旧版本的应用程序 运行。我对应用程序进行了升级并部署了这两个应用程序(使用不同的数据库、wars、服务器等),并希望能够让用户在他们的计算机上同时下载和 运行 这两个应用程序。由于应用程序基本上彼此独立,因此不应该存在重叠数据的问题。但是,.JNLP 文件将下载新应用程序并覆盖旧应用程序,反之亦然。我们希望同时拥有两个 运行ning,这样生产就不会停止,并且他们可以在 before 将最新的应用程序切换到他们的生产之前测试改进的功能.
我已经更改了新应用程序的名称,以及 JNLP 文件中的开始菜单名称 ,但它们仍然会相互覆盖。我想这个问题中有一个子问题:how/where does Java determine that the application being downloaded/installed through web start already exists? 我的猜测是来自main-class.
的名字
谢谢
MIS.JNLP 供参考:
<?xml version="1.0" encoding="utf-8"?>
<!-- JNLP File for Foo Registration Application -->
<jnlp
spec="1.7+"
codebase="http://foo:8080/mis"
href="mis.jnlp">
<information>
<title>MIS TEST</title> <!-- Original: 'MIS' -->
<vendor>Foo Inc.</vendor>
<description>Bar MIS System</description>
<shortcut online="false">
<desktop/>
<menu submenu="FooBar MIS TEST"/> <!--Original: 'FooBar MIS' -->
</shortcut>
</information>
<security>
<all-permissions/>
</security>
<resources>
<j2se version="1.7+" java-vm-args="-client"/>
...
</resources>
<application-desc main-class="FooMainApp"/>
</jnlp>
解决方案(感谢Vic在下面的评论):
我必须更改我的构建,以便创建具有不同名称的 .war。此外,更改了 JNLP 名称,以及指向 jnlp 的 .html 文件中的 link。这些事情的组合允许重复的应用程序同时 运行。
根据 Oracle 文档 "Each JAR file that a JNLP Client (such as Java Web Start) downloads, is uniquely identified with a URL. If two JNLP files use the same URL, then the resource will only be downloaded once and shared. This is similar to the caching implementations used by web browsers"
总结:你如何运行复制JavaWS应用程序(它们来自相同的源代码但使用不同的数据)机器?
我在客户站点上有一个旧版本的应用程序 运行。我对应用程序进行了升级并部署了这两个应用程序(使用不同的数据库、wars、服务器等),并希望能够让用户在他们的计算机上同时下载和 运行 这两个应用程序。由于应用程序基本上彼此独立,因此不应该存在重叠数据的问题。但是,.JNLP 文件将下载新应用程序并覆盖旧应用程序,反之亦然。我们希望同时拥有两个 运行ning,这样生产就不会停止,并且他们可以在 before 将最新的应用程序切换到他们的生产之前测试改进的功能.
我已经更改了新应用程序的名称,以及 JNLP 文件中的开始菜单名称 ,但它们仍然会相互覆盖。我想这个问题中有一个子问题:how/where does Java determine that the application being downloaded/installed through web start already exists? 我的猜测是来自main-class.
的名字谢谢
MIS.JNLP 供参考:
<?xml version="1.0" encoding="utf-8"?>
<!-- JNLP File for Foo Registration Application -->
<jnlp
spec="1.7+"
codebase="http://foo:8080/mis"
href="mis.jnlp">
<information>
<title>MIS TEST</title> <!-- Original: 'MIS' -->
<vendor>Foo Inc.</vendor>
<description>Bar MIS System</description>
<shortcut online="false">
<desktop/>
<menu submenu="FooBar MIS TEST"/> <!--Original: 'FooBar MIS' -->
</shortcut>
</information>
<security>
<all-permissions/>
</security>
<resources>
<j2se version="1.7+" java-vm-args="-client"/>
...
</resources>
<application-desc main-class="FooMainApp"/>
</jnlp>
解决方案(感谢Vic在下面的评论):
我必须更改我的构建,以便创建具有不同名称的 .war。此外,更改了 JNLP 名称,以及指向 jnlp 的 .html 文件中的 link。这些事情的组合允许重复的应用程序同时 运行。
根据 Oracle 文档 "Each JAR file that a JNLP Client (such as Java Web Start) downloads, is uniquely identified with a URL. If two JNLP files use the same URL, then the resource will only be downloaded once and shared. This is similar to the caching implementations used by web browsers"