使用Oracle DB在Java Web应用程序中超过最大空闲时间

前端之家收集整理的这篇文章主要介绍了使用Oracle DB在Java Web应用程序中超过最大空闲时间前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个 Java Web应用程序连接到另一台机器上运行的Oracle数据库(不确定这是否相关).我正在使用DBCP进行连接池. Web应用程序在JBoss 4.2.2中运行,我们将数据源定义为Spring中的bean.

我们正在使用Hibernate进行ORM.

我们偶尔会遇到错误:“ORA-02396:超过最大空闲时间,请再次连接”.

我尝试将名为“removeAbandoned”(true)和“removeAbandondedTimeout”(120)的DBCP BasicDataSource添加属性无效.

任何帮助,将不胜感激.如果我需要提供更多信息,请告诉我 – 我不是那么了解连接池的内部工作等等…

解决方法

配置数据源时,请尝试将testWhileIdle属性设置为true.您还需要一个测试查询 – 对于Oracle,类似于双精度1的选项就足够了.

这将提示dbcp轻推任何空闲连接以保持新鲜.

如果您不介意以后需要重新创建它们,也可以考虑逐出空闲的连接.查看描述minEvictableIdleTimeMillis,timeBetweenEvictionRunsMillis和maxIdle / minIdle属性的配置选项的documentation.

猜你在找的Oracle相关文章