我有一个多线程的spring应用程序,它通过一组查询与数据库交互,并给出输出。我最近遇到了这个错误,不确定它的确切原因是什么。至于管理服务器上的连接,我没有看到任何问题,到目前为止,一切都在按预期执行,我最近也没有做任何更改。
我看到一段时间后,事情开始如预期的那样工作,但现在我对这个错误和它的原因感到好奇,只是为了防止将来发生这种情况。
发布日志跟踪如下,任何帮助解码这将是高度感谢。
SQL Error: 17002, SQLState: 08006
2021-03-11 13:46:28,508 ERROR [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (default task-59) IO Error: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond
2021-03-11 13:46:28,548 WARN [org.jboss.jca.adapters.jdbc.WrappedConnection] (default task-59) IJ030041: Error during closing a statement for: java:jboss/datasources/<pool-name>: java.sql.SQLRecoverableException: Closed Connection
at oracle.jdbc.driver.PhysicalConnection.needLine(PhysicalConnection.java:3247)
at oracle.jdbc.driver.OracleStatement.closeOrCache(OracleStatement.java:1392)
at oracle.jdbc.driver.OracleStatement.close(OracleStatement.java:1375)
at oracle.jdbc.driver.OracleStatementWrapper.close(OracleStatementWrapper.java:119)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.close(OraclePreparedStatementWrapper.java:96)
at org.jboss.jca.adapters.jdbc.WrappedStatement.internalClose(WrappedStatement.java:1491)
at org.jboss.jca.adapters.jdbc.WrappedConnection.returnConnection(WrappedConnection.java:286)
at org.jboss.jca.adapters.jdbc.WrappedConnection.close(WrappedConnection.java:256)
at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.closeConnection(DatasourceConnectionProviderImpl.java:144)
at org.hibernate.internal.AbstractSessionImpl$NonContextualJdbcConnectionAccess.releaseConnection(AbstractSessionImpl.java:391)
at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.releaseConnection(LogicalConnectionImpl.java:255)
at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.close(LogicalConnectionImpl.java:182)
at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.close(JdbcCoordinatorImpl.java:205)
at org.hibernate.engine.transaction.internal.TransactionCoordinatorImpl.close(TransactionCoordinatorImpl.java:297)
at org.hibernate.internal.SessionImpl.close(SessionImpl.java:369)
发布于 2021-03-14 16:47:48
Hibernate尝试关闭一条语句,但由于某种原因,连接(会话)已关闭/终止:
关闭以下对象的语句时出现
错误: java:jboss/datasources/: java.sql.SQLRecoverableException:关闭的连接
SQL错误: 17002,SQLState: 08006 IO错误:连接尝试失败,因为连接方在一段时间后没有正确响应,或者已建立的连接失败,因为连接的主机响应失败
发生这种情况的原因可能有多种。可能是网络问题导致超时。
如果您的DBA可以在数据库服务器上看到任何错误,您应该向他进行检查。
您是否已经为您的JDBC数据源配置了数据库连接验证?http://www.mastertheboss.com/jboss-server/jboss-datasource/how-to-automatically-reconnect-to-the-database-in-wildfly
发布于 2021-03-14 16:52:15
你的应用服务器和数据库服务器之间出现了网络连接问题。但是是什么导致了它,我们无法在没有更多细节的情况下解释。如果它自动开始工作,那么它看起来就像是两个服务器之间的临时网络问题。或者,如果您在db服务器url中使用了无效的ip/dns名称,则会导致此错误。但这需要你方的改变来解决这个问题。
https://stackoverflow.com/questions/66622504
复制相似问题