我有一个带有Java后端的Web应用程序,该应用程序使用Tomcat jdbc-pool进行数据库连接。这很好。
但是,我尝试在将其导出到其他位置之前对其进行全面验证,最近发生了一种情况,有人重新启动了SQL Server数据库服务,但没有重新启动Tomcat服务。这导致了SQLException:java.sql.SQLException: I/O Error: Connection reset by peer: socket write error
在重新启动Tomcat之前,强制jdbc-pool数据源重新连接。
我在Tomcat jdbc-pool文档中寻找了某种配置,以告知数据源尝试重新连接,但我什么也找不到。
有谁知道是否为此进行某种配置,还是应该在每次请求之前检查此条件?
不是100%肯定,如果这是你的问题,但是,http://www.tomcatexpert.com/blog/2010/04/01/configuring-jdbc-pool-high-concurrency它说,你可以用testOnBorrow
用validationQuery
。
<Resource type="javax.sql.DataSource"
...
testOnBorrow="true"
validationQuery="SELECT 1"
removeAbandoned="true"
/>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句