一尘不染

当在相同的Tomcat实例中启动几乎相同的应用程序时,为什么Tomcat Web应用程序失败?

tomcat

在Linux上的Tomcat 5.5.27下(在生产中的CentOS和开发中的Ubuntu 10.04上),我们都遇到了一些奇怪的Web应用程序部署行为。

App A和App B几乎是相同的(完全相同的库,一个复制的Maven项目),App
B的不同之处仅在于其JPA实体被注释为可以访问同一模式中的另一个表(JNDI数据库引用是相同的)。

将应用程序部署到任一环境中时,应用程序B将 不会 启动。然而:

  1. 从Tomcat管理控制台手动启动停滞的应用程序,效果很好(???)。
  2. 尝试重新启动Tomcat后,按字母顺序排列的更高版本的应用程序无法启动。点#1仍然有效(???)
  3. 日志 配置(log4j),但是,从[尚待启动]应用B的日志中,我们什么也没有得到,也没有从Tomcat的’catalina.out’日志文件中得到任何错误(注意:一旦应用启动并运行,日志 就会 工作) 。

我已经对信息进行了相当彻底的搜索(Apache / Tomcat
bugzilla,Google),但没有发现任何真正有用的东西。其他帖子也看到了在服务器的“
context.xml”“上下文”节点上使用antijarlocking和antiresourcelocking属性,但也有人建议这在Linux下是不必要的/无效的(在这里也似乎没有用)

有任何想法吗?

干杯

丰富

目前无法从Tomcat 5.5.x进行PS升级(IT支持等)。


阅读 258

收藏
2020-06-16

共1个答案

一尘不染

与tomcat上的spring应用程序有类似的行为。-他们要求webAppRootKey对于每个应用程序都是唯一的。-如果应用程序的行为不像您所描述的那样,则对于Spring应用程序,请确保App-
A具有另一个webAppRootKey,然后是App-B。

<context-param>
    <param-name>webAppRootKey</param-name>
    <param-value>myRootKey</param-value>
</context-param>

@See
http://groups.google.com/group/riotfamily/browse_thread/thread/9a0edf69575d3ab6?pli=1

2020-06-16