【问题标题】:Apache Tomcat WebApp freezesApache Tomcat WebApp 冻结
【发布时间】:2012-02-15 19:51:49
【问题描述】:

我已经使用 java servlet 和 jsp 页面构建了一个 Web 应用程序,并在我的本地计算机上运行和测试了它,一切正常,它收集结果(给定要搜索的内容),然后将它们显示给用户。

我最近被要求将我的 java 程序放到运行 Apache tomcat 7.0.25 的服务器上。现在,每当我转到该页面并尝试运行搜索时,它都会滞后并且永远不会返回响应页面,即使所有后端过程都已正确完成并且没有引发错误。

不幸的是,我真的可以显示我的大部分代码或程序的 url。

提前感谢您的任何建议

【问题讨论】:

  • 您的搜索操作需要多长时间?浏览器告诉你什么?
  • 您是否有记录以确认处理已完成?您可以添加更多日志记录吗?是否进行了线程转储以检查卡住的线程?
  • 由于某种原因它突然开始工作......我真的很困惑,但似乎很难对路径进行编码

标签: java apache web-applications tomcat servlets


【解决方案1】:

通过设置 CATALINA_OPTS 或 JAVA_OPTS 系统变量来增加内存占用,如下所述:

http://vegdave.wordpress.com/2008/04/04/configure-heap-size-for-tomcat-6x/

此外,请验证框之间的所有内容是否真正相同。确保您的 Tomcat 和 Java 版本在框之间是相同的(TOMCAT_HOME/bin 目录中的“java -version”和 exec version.sh)。要验证的另一点是一个是 32 位还是 64 位,因为可能存在不同的行为。还要记住,Tomcat 需要对其自己的 TOMCAT_HOME/logs 目录具有写入权限才能写入 catalina.out 文件——磁盘不能满并且权限必须足够。最后,如果所有其他方法都失败了,请检查系统日志,因为这可能会提供一些线索,说明为什么某些东西不工作。

最后一个争论点——是否有任何东西在您的本地系统上运行,甚至可能是不同的防火墙设置,如果它在服务器上不同,可能会干扰应用程序的操作。公共 DC 中的盒子通常在配置时考虑到安全性,因此需要研究一下。

【讨论】:

  • 我的所有脚本和 java 代码都在 webapp 目录中...这会对结果有影响吗?
  • 这可能不是最佳实践,但也不应该。这里的假设是您正在正确构建应用程序,因为它在本地运行(战争部署?)。
  • 是的,我设法将它从 webapps 目录中移出并移到另一个目录中,这遵循了最佳实践。似乎问题在于我对要遵循的目录进行硬编码的方式
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多