2015-07-02 73 views
0

我遇到了一个罕见的问题,我部署了一场战争,它与数据库服务器(MySQL)的连接如下所示:
我做了这样的tomcat配置:
连接数据库在Grails战争中数小时后丢失

<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]"/> 

,并连接就好了,但事情是,我每天来检查服务器的状态,同时也测试在它的网页,我无法登录。如果我重新启动服务器(不推荐,判断我是红色的),我可以再次登录(使用弹簧安全),但时间不长......情况很复杂,主要是因为它已经在生产中了,举办一个应用程序的后端..
在此先感谢!

注意:在这个tomcat中有多个web应用程序,它们都工作正常。

回答

1

,我与Grails的数据源,并连接到Oracle数据库tomcat的资源配置类似的问题,我决定加入

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

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

+0

感谢您的回复。要检查出来。 最有趣的事情是,本地没有问题.. – pamobo0609

+0

我的问题只在生产中,因为空闲连接被防火墙关闭在网络服务器和数据库之间。有了这些属性,连接在使用前经过测试并在需要时重新创建。 – GUL

+0

伟大的家伙。谢谢,今天晚些时候再试! – pamobo0609