Jdbc Oracle DB连接未从Tomcat 8中的连接池中释放
我们正在将Tomcat6、java 6和Oracle 10g web应用程序迁移到Tomcat8、java 8和Oracle 10g。我们的应用程序在迁移后工作正常,但在Tomcat关闭后,连接池中的初始连接(initialSize=“5”)没有释放。当第二次启动tomcat时,它将再创建5个到池的初始连接。我正在server.xml中使用以下资源配置Jdbc Oracle DB连接未从Tomcat 8中的连接池中释放,jdbc,java-8,connection-pooling,tomcat8,ojdbc,Jdbc,Java 8,Connection Pooling,Tomcat8,Ojdbc,我们正在将Tomcat6、java 6和Oracle 10g web应用程序迁移到Tomcat8、java 8和Oracle 10g。我们的应用程序在迁移后工作正常,但在Tomcat关闭后,连接池中的初始连接(initialSize=“5”)没有释放。当第二次启动tomcat时,它将再创建5个到池的初始连接。我正在server.xml中使用以下资源配置 <Resource name="TestAppDataSource" auth="Container"
<Resource name="TestAppDataSource"
auth="Container"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
type="javax.sql.DataSource"
driverClassName="oracle.jdbc.OracleDriver"
initialSize="5"
maxActive="40"
maxIdle="40"
minIdle="5"
timeBetweenEvictionRunsMillis="30000"
minEvictableIdleTimeMillis="30000"
maxWait="10000"
testWhileIdle="true"
testOnBorrow="true"
testOnReturn="false"
validationQuery="SELECT 1 from dual"
validationInterval="30000"
logAbandoned="true"
removeAbandonedTimeout="30"
removeAbandonedOnBorrow="true"
removeAbandonedOnMaintenance="true"
suspectTimeout="300"
maxAge="60000"
url="jdbc:oracle:thin:@//IP_ADDRESS:1521/SCHEMA_NAME"
username="USER_NAME"
password="PASSWORD" />
以及应用程序META_INF/context.xml中的以下资源链接配置
<ResourceLink
name="APP_TEST"
global="TestAppDataSource"
type="javax.sql.DataSource"
/>
我正在使用ojdbc7.jar作为oracle驱动程序。请帮助我是否错过任何配置。请尝试以下选项:
removeAbandoned = true
(布尔值)标记,用于删除超过
删除BandonedTimeout。如果设置为true,则考虑连接
如果其使用时间超过
RemoveBandonedTimeout将此设置为true可以恢复db
来自无法关闭连接的应用程序的连接。看见
此外,默认值为false
Tomcat现在使用JDBC连接池org.apache.Tomcat.JDBC.Pool,它是apache Commons DBCP连接池的替代品
RemoveBandoned是JDBC连接池的一个选项
尝试以下选项:
removeAbandoned = true
(布尔值)标记,用于删除超过
删除BandonedTimeout。如果设置为true,则考虑连接
如果其使用时间超过
RemoveBandonedTimeout将此设置为true可以恢复db
来自无法关闭连接的应用程序的连接。看见
此外,默认值为false
Tomcat现在使用JDBC连接池org.apache.Tomcat.JDBC.Pool,它是apache Commons DBCP连接池的替代品
RemoveBandoned是JDBC连接池的一个选项
您必须将
closeMethod=“close”
添加到context.xml中的JDBC资源中。这样,Tomcat可以正确地释放到数据库的挂起连接。您必须将closeMethod=“close”
添加到context.xml中的JDBC资源中。这样,Tomcat可以正确地释放到数据库的挂起连接。在Tomcat JVM终止后,您已经将套接字连接到Oracle了吗?很难相信。你在网络层登记了吗?或者您的问题是其他原因吗?在Tomcat JVM终止后,您已将套接字连接到Oracle?很难相信。你在网络层登记了吗?或者你的问题是什么?