1

上下文: 我们在 Linux 系统上运行的 Tomcat (v7.0.57) 上使用 MFP v6.3。我们正在尝试使用 MFP ANT 任务来自动部署 MFP 工件(即 WAR 文件、适配器和 wlapps 文件)。具体来说,我们有一个用例,我们希望使用 updateApplicationServer ANT 任务来更新最初使用 MFP 的 configurationTool.sh 部署的 WAR 文件。

问题: updateApplicationServer ANT 任务执行时没有任何错误,我们可以看到 Tomcat 服务器上的 WAR 文件确实被新文件替换了。但是,Tomcat/MFP 并未加载 WAR 中新的和更新的 Java 代码。我们注意到,在执行 updateApplicationServer ANT 任务后,WAR 文件的内容没有被分解(即使 autodeploy 和 unpackWARs 标志设置为 true)。只有重新启动 Tomcat 服务器后,应用程序才能使用 WAR 中的新代码。从 KnowledgeCenter 上的 MFP 文档中,我们的印象是 updateApplicationServer ANT 任务不需要重新启动服务器来更新相应的 WAR 文件。我们期待 updateApplicationServer ANT 任务更新 WAR 并使其立即可用于 MFP 移动应用程序客户端。

代码: 我们使用 Gradle 来调用 updateApplicationServer ANT 任务:

ant.updateApplicationServer(contextroot: contextRoot) {
    "project"(warfile: warFile)
    "applicationserver"() {
    "tomcat"(installdir: installDir)
  }
}
4

1 回答 1

0

updateApplicationServer 通常需要重新启动服务器(即使对于可以在运行时停止和启动应用程序的应用程序服务器)的原因是它还更新了 worklight-jee-library.jar(这对于应用修订包很有用)。

也许您可以尝试如何在不重新启动整个服务的情况下更新 Tomcat webapp? (例如 dit 标记为

 <Context reloadable="true">
于 2015-05-05T19:52:29.923 回答