gpt4 book ai didi

java.sql.SQLException : Io exception: Broken pipe how to recover without restart? 异常

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:32:59 24 4
gpt4 key购买 nike

在我的应用程序中,我使用到 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)

为了恢复我需要重启应用程序,是否可以不重启就恢复?谢谢。

最佳答案

以下可能是导致异常的可能性:

  1. 网络问题:即数据库和应用服务器之间的网络导致物理连接在一段时间后断开。这可能是由于网络后面运行的防火墙被配置为在指定时间段后终止数据库连接。您可以考虑一种变通方法,只需重新配置您的应用程序服务器即可始终保持连接处于 Activity 状态。对于 Tomcat,您可以尝试在 Tomcat 数据源配置文件 (context.xml) 中添加 validationQuery="select 'validationQuery' from dual

  2. 与数据库服务器的连接正在重置,数据库驱动程序未通知客户端。这种情况下的问题是 Oracle 驱动程序发现它与 DBMS 的套接字以某种方式(可能又是防火墙?)已被另一端关闭。您可以考虑将连接超时(在池中)设置为比网络/数据库服务器超时更短的解决方案。

关于java.sql.SQLException : Io exception: Broken pipe how to recover without restart? 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9766168/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com