【发布时间】:2013-08-24 19:47:14
【问题描述】:
我的连接属性如下所示
- 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:197) 在 oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:261) 在 oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:566) 在 oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:802) 在 oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPreparedStatement.java:866) 在 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.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)
之后就可以正常使用了。
【问题讨论】: