应用程序在 Websphere Liberty Profile 上神秘重启

Application restarts mysteriously on Websphere Liberty Profile

我们的应用程序 运行s 在 WLP 16.0.0.2 上。最近,我们看到应用程序在使用 Apache FOP 2.1 的代码完成执行后立即重新启动。该代码有望生成成功的 PDF。我们在日志中看不到任何内存转储或任何其他类型的错误、异常。当应用程序在 Tomcat 上使用 运行 时,同一段代码过去工作正常 8. 尝试常规堆大小和 PermGen 调整没有帮助。

应用程序重启可以由 Liberty 中的两件事触发:

  1. server.xml 中触发应用重启的配置更改
  2. <applicationMonitor/> 元素在轮询更新或应用程序监视器 MBean 收到更新请求时发现应用程序更改。

您的情况可能是第 2 种情况。您的应用程序中可能有一些东西正在将输出写入扩展的应用程序目录,并且默认的应用程序监视器设置(每 500 毫秒轮询一次更新)正在将此输出作为应用程序更改并因此触发重新启动。

所以你有两种选择来解决这个问题:

  1. (推荐)将您的应用程序更改为在扩展应用程序目录之外的某处写入输出
  2. 通过将其放入 server.xml:
    来禁用应用程序监控 <applicationMonitor updateTrigger="mbean"/>
    注意:将应用程序监控设置为 mbean 将导致删除应用程序无法启动,除非您在 WDT 中 运行。