我们使用tomcat jdbc连接池与Oracle数据库。 最近,我们遇到了来自JDBC THIN CLIENT的Oracle数据库中非活动会话过多的问题。tomcat jdbc连接池与Oracle数据库
任何人都可以帮助我们吗?为什么会导致数据库中的非活动会话以及可以解决的问题。
谢谢。
我们使用tomcat jdbc连接池与Oracle数据库。 最近,我们遇到了来自JDBC THIN CLIENT的Oracle数据库中非活动会话过多的问题。tomcat jdbc连接池与Oracle数据库
任何人都可以帮助我们吗?为什么会导致数据库中的非活动会话以及可以解决的问题。
谢谢。
根据the documentation调整池的设置。将maxIdle
和minEvictableIdleTimeMillis
设置为较低的值可以确保空闲连接快速被逐出,并且很少有空闲连接保持打开状态。显然,这也会让你的游泳池效率下降,因为连接将会关闭并更频繁地打开。
'maxActive'应该改变以避免会话过多的问题。 –
如果因为连接超时而收到SQLException
,您应该设置一个validationQuery
(类似于SELECT 0 FROM DUAL
),并且您的连接将在它们检出池之前进行测试。任何失败的连接都将被工作连接替换,然后返回到您的代码。
为什么它是一个'问题',你有非活动会话? –