【问题标题】:What are the reasons for getting a Socket read timed out Exception in Java?在 Java 中获取 Socket 读取超时异常的原因是什么?
【发布时间】:2017-02-11 09:03:03
【问题描述】:

Java 中出现 Socket read timed out 异常的原因是什么?

我明白了:

    ### Cause: java.sql.SQLRecoverableException: IO Error: Socket read timed out
; SQL []; IO Error: Socket read timed out; nested exception is java.sql.SQLRecoverableException: IO Error: Socket read timed out

【问题讨论】:

    标签: java database sockets socket.io socket-timeout-exception


    【解决方案1】:

    根据您的环境,可能有许多不同的原因:可能是您的机器和数据库服务器之间的简单网络中断。但也可能是较低级别的拥堵;一层就在那里;采用所有连接线程;等待另一边移动......不会再移动了。

    从这个意义上说,对您的非特定问题的非特定答案是:确定系统中存在的不同组件,这些组件需要相互通信以提供它们应该提供的功能。当你有那个“地图”时;您开始自行检查该地图上的每个位置。

    提示:如果你还没有这样的(心理)地图;好吧,欢迎来到专业 IT 的世界。当您负责复杂的系统时;您只需要了解该系统中的不同组件即可;以及它们如何相互作用。这不是stackoverflow可以给你的;这是必须自己弄清楚的事情。

    【讨论】:

      【解决方案2】:

      库设置了超时,但在达到超时之前它没有读取任何内容。

      如果另一端长时间从停止读取,则可能会发生这种情况。图书馆确定什么算作长时间。我会查找它所连接的服务器上记录的任何错误。

      【讨论】:

        【解决方案3】:

        参考http://docs.oracle.com/javase/6/docs/api/java/sql/SQLRecoverableException.html

        尝试检查

        • 检查输入参数

          连接 con=DriverManager.getConnection(
          "jdbc:oracle:thin:@localhost:1521:xe","用户名","密码");

          • 检查数据库帐户的到期日期

          • 尝试重启数据库

          • 尝试重试连接

          • 如果仍然失败,请尝试使用另一个数据库 dsn

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-07-23
          • 1970-01-01
          • 2011-04-04
          • 1970-01-01
          • 1970-01-01
          • 2012-09-06
          • 2012-10-24
          • 1970-01-01
          相关资源
          最近更新 更多