gpt4 book ai didi

java - 运行重复的 JavaWS 应用程序

转载 作者:行者123 更新时间:2023-12-01 11:34:43 25 4
gpt4 key购买 nike

摘要:如何在同一台机器上运行重复的 JavaWS 应用程序(它们来自相同的源代码,但使用不同的数据)?

我在客户端站点上运行旧版本的应用程序。我对应用程序进行了升级,并部署了这两个应用程序(使用不同的数据库、 war 、服务器等),并且希望能够让用户在其计算机上同时下载和运行这两个应用程序。由于应用程序本质上是相互独立的,因此不应该存在数据重叠的问题。但是,.JNLP 文件将下载新应用程序并覆盖旧应用程序 - 反之亦然。我们希望两者同时运行,以便生产不会停止,并且他们可以将最新应用程序切换到生产环境之前测试改进的功能。

我已经更改了新应用程序的名称以及 JNLP 文件中的开始菜单名称​​,但它们仍然会相互覆盖。我想这个问题中有一个子问题:Java如何/在哪里确定通过网络启动下载/安装的应用程序已经存在?我的猜测是它来自主类的名称。

谢谢

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 名称以及 .html 文件内指向 jnlp 的链接也已更改。这些东西的组合允许重复的应用程序同时运行。

最佳答案

根据 Oracle 文档“JNLP 客户端(例如 Java Web Start)下载的每个 JAR 文件都通过 URL 进行唯一标识。如果两个 JNLP 文件使用相同的 URL,则该资源将仅下载一次并共享。这类似于网络浏览器使用的缓存实现”

关于java - 运行重复的 JavaWS 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30128500/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com