tomcat - 使用 updateApplicationServer ANT 任务在 Tomcat 上更新 WAR 文件似乎需要重新启动应用程序服务器?

标签 tomcat ant ibm-mobilefirst mobilefirst-server devops

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

问题: updateApplicationServer ANT 任务执行时没有任何错误,我们可以看到 Tomcat 服务器上的 WAR 文件确实被新文件替换了。但是,WAR 中新的和更新的 Java 代码没有被 Tomcat/MFP 加载。我们注意到在执行 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)
  }
}

最佳答案

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

也许您可以尝试在 How do I update a Tomcat webapp without restarting the entire service? 中列出的一些技巧(比如 dit 标记为

 <Context reloadable="true">

关于tomcat - 使用 updateApplicationServer ANT 任务在 Tomcat 上更新 WAR 文件似乎需要重新启动应用程序服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30054711/

相关文章:

java - 服务器始终使用 Jersey 2 + Tomcat 6 返回 404 错误

java - 轴错误无法进行模块寻址

Apache 作为具有子域的 Tomcat 的代理

java - 在 ant 中设置 javaagent

java - 在本地 tomcat 中运行 Web 应用程序失败并出现 LinkageException

regex - ANT 删除空格正则表达式

java - Ant else 条件执行

android - 由于缺少 info.plist 和其他文件,Worklight 在 OS X、iPhone 和 Android 上的构建失败

javascript - 需要有关表格格式的帮助

android - IBM Worklight - 应用程序在不同的 Android 操作系统版本中显示和行为不同