我们有一个使用 Oracle StoredProc 的应用程序。当存储过程从我们的应用程序外部升级或重新编译时,数据库连接必须关闭并重新打开。否则我们会得到一个 Oracle 异常 ORA-20003。
到目前为止,我们一直在使用特定于 WebLogic 的解决方案,我们在其中抛出特定的异常,Weblogic 连接池会将连接标记为逐出。我们现在正在迁移到 Tomcat 6。
Tomcat 6 是否有类似的解决方案?或者更好的是,通用解决方案?
我们可以将连接池配置为 minIdle=0 和 timeBetweenEvictionRunsMillis=一些小数字,但仍然没有保证,只是问题的缓解。
感谢您的帮助!
最佳答案
你能想出一个 SELECT
语句来验证连接是否是最新的吗?如果是这样,您可以使用它来配置连接池 validationQuery
(可能与 connectionInitSqls
结合使用)。
编辑:也许USER_OBJECTS.LAST_DDL_TIME
有什么帮助吗?
关于java - 如何将连接标记为从 Tomcat 6 中的池中逐出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3318408/