【问题标题】:Oracle stale connectionOracle 陈旧连接
【发布时间】:2015-06-15 01:45:59
【问题描述】:

在我的应用程序中每隔一段时间我都会收到此错误:

ERROR 2015-04-09 08:30:13,724 [http-bio-8080-exec-2] mojo.jdbc.MojoAlertDataAccess: Invalid or Stale Connection found in the Connection Cache
java.sql.SQLException: Invalid or Stale Connection found in the Connection Cache
        at oracle.jdbc.pool.OracleImplicitConnectionCache.getConnection(OracleImplicitConnectionCache.java:421)
        at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:395)
        at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:179)
        at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:157)
        at mojo.jdbc.MojoAlertDataAccess.getAllAlertTypes(MojoAlertDataAccess.java:807)

所以目前我在 Spring 中有一个数据源定义为:

<bean id="globalDSRead" class="oracle.jdbc.pool.OracleDataSource" destroy-method="close">
         <property name="connectionCachingEnabled" value="true" />
         <property name="URL" value="${mojo.jdbc.read.url}"/>
         <property name="user" value="${mojo.jdbc.read.username}"/>
         <property name="password" value="${mojo.jdbc.read.password}"/>
         <property name="connectionCacheProperties">
             <value>
                 PropertyCheckInterval:10
                 MinLimit:1
                 MaxLimit:200
                 InitialLimit:1
                 ConnectionWaitTimeout:30
                 InactivityTimeout:30
                 ValidateConnection:true
             </value>
         </property>
     </bean>

据我所知,当应用闲置一段时间后会发生这种情况,但重现起来并不容易。

另外 - 此函数中发生的另一件事是连接的检索可能需要很长时间才能恢复,这通常发生在应用程序长时间处于空闲状态时。

任何人都知道什么可能会被错误配置?

谢谢

【问题讨论】:

  • 您的应用程序服务器和数据库服务器之间是否有防火墙,可能会在一段时间(一个小时左右)后丢弃空闲的 TCP 连接?另请参阅此处评分最高的答案:stackoverflow.com/questions/25589694/…

标签: spring oracle jdbc database-connection connection-pooling


【解决方案1】:

是的,我以前见过。我推荐使用 Apache DBCP (https://commons.apache.org/proper/commons-dbcp/) 来管理连接池。

【讨论】:

    猜你喜欢
    • 2011-09-25
    • 1970-01-01
    • 1970-01-01
    • 2012-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多