【发布时间】:2014-06-02 11:57:32
【问题描述】:
我在 Grails 中开发了网站,Mysql 5.5 作为数据库和 Apache Tomcat 7.0 来托管 WAR。 我反复观察到,经过几天的部署,只要有数据库事务。它给出了错误页面。重新部署 WAR 解决了这个问题。 是数据库连接问题还是内存不够Tomcat?
【问题讨论】:
-
至少你需要在这里提供你的错误信息,以便人们可以帮助你。
-
您是否通过放入新的 war 文件或修改 web.xml 等方式使您的 webapp 重新部署?在遇到致命的内存问题之前,Tomcat 只会容忍一些重新部署。每次重新部署后重新启动 tomcat 是相同的选项。
-
听起来你失去了与数据库的连接。 MySQL 为此而臭名昭著,因为它默认对连接施加了限制。如果这确实是问题,您可以通过增加 my.cnf 中的限制、对 DataSource 使用验证查询或可能通过在 JDBC URL 中设置 autoReconnect=true 来纠正它。不过,有关确切问题的更多信息会有所帮助。
-
@nickdos,如果您所指的致命内存问题是 OOME,那么它可能是应用程序而不是 Tomcat 的问题。有关 OOME wiki.apache.org/tomcat/FAQ/Memory#Q2 的典型原因,请参阅此链接。我敢打赌这是因为你的应用程序的类加载器没有被 GC'd。
-
@Daniel Mikusa,问题是 OOME,因为在 webapp 文件夹中记录和上传文件以及并发连接数
标签: mysql tomcat grails database-connection