加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java.sql.SQLException:Io异常:破坏管道如何在不重启的情况下

发布时间:2020-12-15 00:50:48 所属栏目:Java 来源:网络整理
导读:在我的应用程序中,我使用连接到Oracle,当连接丢失并且我尝试重新连接时收到异常: java.sql.SQLException: Io exception: Broken pipe at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:124) at oracle.jdbc.driver.DatabaseError
在我的应用程序中,我使用连接到Oracle,当连接丢失并且我尝试重新连接时收到异常:
java.sql.SQLException: Io exception: Broken pipe
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:124)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:161)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:273)
    at oracle.jdbc.driver.T4CStatement.fetch(T4CStatement.java:540)
    at oracle.jdbc.driver.OracleResultSetImpl.close_or_fetch_from_next(OracleResultSetImpl.java:264)
    at oracle.jdbc.driver.OracleResultSetImpl.next(OracleResultSetImpl.java:196)

对于恢复我需要重启应用程序,是否可以在不重启的情况下恢复?
谢谢.

解决方法

以下可能是导致例外的可能性:

>网络问题:这是数据库和应用服务器之间的网络,导致物理连接在一段时间后被丢弃.这可能是由于网络后面运行的防火墙配置为在指定的时间段后终止数据库连接.您可以考虑一种解决方法,只需重新配置应用程序服务器,即可始终保持连接的活动状态.对于Tomcat,您可以尝试在Tomcat数据源配置文件(context.xml)中从dual中添加validationQuery =“select’validify”>正在重置与数据库服务器的连接,并且数据库驱动程序不通知客户端.在这种情况下的问题是Oracle驱动程序发现它是以某种方式向DBMS的套接字(防火墙,可能?)已被另一端关闭.您可以考虑将连接超时(在池中)设置为比网络/数据库服务器超时短的解决方案.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读