我们在 Linux 上的 Tomcat 5.5.27 下(在生产中的 CentOS 和开发中的 Ubuntu 10.04 上)遇到了稍微奇怪的 webapp 部署行为。
应用程序 A 和应用程序 B 几乎相同(完全相同的库,复制的 Maven 项目),应用程序 B 的不同之处仅在于其 JPA 实体被注释为访问同一架构中的不同表(JNDI 数据库引用相同)。
当应用程序部署到任一环境中时,应用程序 B 将不会启动。然而:
- 从 Tomcat 管理控制台手动启动停止的应用程序可以正常工作 (???)。
- 在尝试重新启动 Tomcat 后,按字母顺序排列的应用程序无法启动。第 1 点仍然有效 (???)
- 配置了日志记录(log4j),但是,我们从 [尚未启动的] 应用程序 B 的日志记录中没有得到任何信息,也没有从 Tomcat 的“catalina.out”日志文件中得到任何错误(注意,一旦应用程序启动并运行,日志记录就会工作) .
我已经对信息进行了相当彻底的搜索(Apache/Tomcat bugzilla,Google),但我没有发现任何真正有用的信息。其他帖子已经在服务器的“context.xml”“上下文”节点上看到了 antijarlocking 和 antiresourcelocking 属性的使用,但也有人建议这在 Linux 下是不必要的/无效的(在这里似乎也不起作用) .
有任何想法吗?
干杯
富有的
PS 目前不能选择从 Tomcat 5.5.x 升级(IT 支持等)。