2012-07-04 72 views
2

我们使用tomcat jdbc连接池与Oracle数据库。 最近,我们遇到了来自JDBC THIN CLIENT的Oracle数据库中非活动会话过多的问题。tomcat jdbc连接池与Oracle数据库

任何人都可以帮助我们吗?为什么会导致数据库中的非活动会话以及可以解决的问题。

谢谢。

+1

为什么它是一个'问题',你有非活动会话? –

回答

0

根据the documentation调整池的设置。将maxIdleminEvictableIdleTimeMillis设置为较低的值可以确保空闲连接快速被逐出,并且很少有空闲连接保持打开状态。显然,这也会让你的游泳池效率下降,因为连接将会关闭并更频繁地打开。

+0

'maxActive'应该改变以避免会话过多的问题。 –

0

如果因为连接超时而收到SQLException,您应该设置一个validationQuery(类似于SELECT 0 FROM DUAL),并且您的连接将在它们检出池之前进行测试。任何失败的连接都将被工作连接替换,然后返回到您的代码。