【问题标题】:Tomcat server and Mysql 5.5 connectivityTomcat 服务器和 Mysql 5.5 连接
【发布时间】: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


【解决方案1】:

增加MySql的并发连接数解决了连接问题 OOME是通过在tomcat中分配更多内存并经常清理webapp文件夹来解决的

【讨论】: