0

我的连接属性如下

  • jdbc.url=jdbc:mysql://db_host:db_port/db_name
  • jdbc.driverClassName=db_driver_class_name
  • jdbc.username=db_user
  • jdbc.password=db_password
  • jdbc.hibernate.platform=hibernate_dialect
  • jdbc.initialPoolSize=25
  • jdbc.minPoolSize=25
  • jdbc.maxPoolSize=500
  • jdbc.checkoutTimeout=1000
  • jdbc.acquireRetryDelay=1000
  • jdbc.acquireRetryAttempts=30
  • jdbc.acquireIncrement=50
  • jdbc.breakAfterAcquireFailure=true
  • jdbc.debugUnreturnedConnectionStackTraces=true

    偶尔我会收到以下错误

    原因:java.sql.SQLException:Io 异常:软件导致连接中止:recv 在 oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:74) 在 oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java :131) 在 oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:261) 在 oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError. java:566) 在 oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPreparedStatement.java:866) 在 oracle.jdbc.driver.OracleStatement.executeForDescribe(T4CPreparedStatement.java:802) 在 oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement .java:1186) 在 oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3387) 在 oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3431) 在 oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1203) 在 com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeQuery (NewProxyPreparedStatement.java:76) 在 org.hibernate.loader.getResultSet(AbstractBatcher.java:186) 在 org.hibernate.loader.Loader.getResultSet(Loader.java:1787) 在 org.hibernate.loader.Loader。 doQuery(Loader.java:674) at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236) at org.hibernate.loader.Loader.loadEntity(Loader.java:1860)mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeQuery(NewProxyPreparedStatement.java:76) 在 org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:186) 在 org.hibernate.loader.Loader.getResultSet(Loader.java: 1787) 在 org.hibernate.loader.Loader.doQuery(Loader.java:674) 在 org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236) 在 org.hibernate.loader.Loader.loadEntity(Loader.java :1860)mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeQuery(NewProxyPreparedStatement.java:76) 在 org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:186) 在 org.hibernate.loader.Loader.getResultSet(Loader.java: 1787) 在 org.hibernate.loader.Loader.doQuery(Loader.java:674) 在 org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236) 在 org.hibernate.loader.Loader.loadEntity(Loader.java :1860)爪哇:1860)爪哇:1860)

    之后它工作正常。

4

1 回答 1

0

这不太可能与连接池有很大关系。这是网络/JDBC 驱动程序问题。特别是,您可能想要查找 Oracle 错误 9373409 - 请参阅https://forums.oracle.com/message/9176463#9176463 https://forums.oracle.com/message/10332437#10332437如果这是您的问题,您可能想要升级您的 Oracle 安装,错误 9373409 应该已在“补丁集”11.2.0.3 中修复,请参阅http://www.eygle.com/Notes/11203_buglist.htm

于 2013-08-22T08:57:38.763 回答