【问题标题】:Connection to database lost after several hours in Grails war在 Grails 战争中几个小时后与数据库的连接丢失
【发布时间】:2015-07-02 14:03:15
【问题描述】:

我部署的战争遇到了一个罕见的问题,它与数据库服务器 (MySQL) 的连接是这样的:
我做了这样的tomcat配置:

<Resource name="jdbc/gimnasioBackend" auth="Container" type="javax.sql.DataSour$
               maxTotal="100" maxIdle="30" maxWaitMillis="10000"
               username=["username"] password=["password"] driverClassName="com$
               url="jdbc:mysql://localhost:3306/[databaseName]"/>

而且连接正常,但问题是我每天都来查看服务器状态,还测试其中的页面,我无法登录。如果我重启服务器(不推荐,判断我红的),我可以再次登录(使用spring security),但时间不长......情况复杂,主要是因为它已经在生产中,并且是持有应用程序的后端..
提前致谢!

注意:这个 tomcat 中有不止一个网络应用程序,它们都运行良好。

【问题讨论】:

    标签: mysql spring tomcat grails webdeploy


    【解决方案1】:

    我在 grails DataSource 和连接到 Oracle 数据库的 tomcat 资源配置方面遇到了类似问题,我解决了添加问题

    validationQuery="SELECT 1 FROM DUAL"
    validationQueryTimeout=3
    validationInterval=15000
    

    如果问题是由于数据库连接丢失,我想您可以尝试添加这些属性。 mysql的验证查询应该是select 1而不是select 1 from dual

    【讨论】:

    • 感谢您的回复。要检查一下。最可笑的是,本地没有问题..
    • 我的问题也只是在生产中,因为网络服务器和数据库之间的防火墙关闭了空闲连接。使用这些属性,在使用连接之前会对其进行测试,并在需要时重新创建
    • 好兄弟。谢谢,今天晚些时候试试!
    猜你喜欢
    • 2015-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-27
    • 1970-01-01
    • 2013-04-27
    相关资源
    最近更新 更多