我正在使用连接池tomcat with oracle数据库。它工作正常,但是当我在很长一段时间后使用我的应用程序时,它会给出错误“连接重置“。我收到此错误是因为 oracle 服务器的物理连接在 tomcat 数据源的逻辑连接关闭之前关闭。因此,在从数据源获取连接之前,我正在检查连接有效性有效(0)连接对象的方法,如果物理连接关闭,则返回 false。但我不知道该怎么做remove that 无效连接池中的对象。
这可能是因为在数据库服务器上,有一个超时,不允许连接超过设定的时间,或者如果没有收到表明它仍然有效的内容,则连接会终止。解决此问题的一种方法是打开保活。这些基本上对数据库服务器执行 ping 操作,表示它们仍然是有效的连接。
This http://tomcat.apache.org/tomcat-5.5-doc/jndi-datasource-examples-howto.html#Database_Connection_Pool_%28DBCP%29_Configurations是一个关于 Tomcats DBCP 配置的非常好的链接。查看标题为“防止 dB 连接池泄漏”的部分。看起来这可能是一个很好的起点。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)