【发布时间】:2012-03-27 10:53:08
【问题描述】:
我正在为基于 java 的 Application 使用 Tomcat 服务器。
我的问题是,服务器不是每天都重新启动,它给出错误的结果(意味着功能不工作),但是一旦服务器重新启动,它就可以正常工作了。
我对给出的结果的这种不可预测性感到非常困惑,请告诉我这种行为是否可能??
Ours 是一个使用 Apache CXF 的 Web 服务应用程序。
谢谢
【问题讨论】:
我正在为基于 java 的 Application 使用 Tomcat 服务器。
我的问题是,服务器不是每天都重新启动,它给出错误的结果(意味着功能不工作),但是一旦服务器重新启动,它就可以正常工作了。
我对给出的结果的这种不可预测性感到非常困惑,请告诉我这种行为是否可能??
Ours 是一个使用 Apache CXF 的 Web 服务应用程序。
谢谢
【问题讨论】:
这很可能是由您自己的应用程序中的错误引起的,而不是由 Tomcat 中的错误引起的。 Tomcat本身没有理由每天都重启它。
由于您没有说明具体出了什么问题,因此无法帮助您解决具体问题。
【讨论】:
我对给出的结果的这种不可预测性感到非常困惑,请告诉我这种行为是否可能?
发生这种情况的原因有很多,几乎所有这些最终都会指向代码中的错误。最有可能是资源泄漏 - 内存泄漏(例如,将东西添加到某处的静态引用集合中)、数据库连接泄漏等。
您绝对应该找出问题所在 - 如果没有关于“错误结果”的构成或您的应用程序正在做什么的更多信息,我们无法真正帮助您做到这一点。 不应该每天都重启服务器。
【讨论】:
Tomcat 不需要每天都重启。我有运行数周没有问题的 Tomcat 服务器。您的 Web 应用程序中一定存在导致错误行为的错误。
【讨论】:
很可能是您的应用程序存在与静态变量或并发相关的错误,因此您的应用程序的状态会受到先前请求的影响。
【讨论】:
您是否在您的机器上设置了 TomCat 作为服务?这样做并自动恢复服务可能是一个想法。
【讨论】: