【问题标题】:Sometimes java.net.SocketTimeoutException: Read timed out. Sometimes not有时 java.net.SocketTimeoutException: 读取超时。有时不
【发布时间】:2013-05-28 09:07:19
【问题描述】:

我遇到了这个奇怪的错误

java.net.SocketTimeoutException: Read timed out

也许你们中的某个人可以帮助解决这个问题。

事实就是这些,我正在使用 Eclipse,使用 Tomcat v7。然后我执行一个函数,它有

_call.setTimeout(3500);

在我的 Windows->Preferences->Java->Debug 我有

Debugger timeout(ms):3000
Launch timeout(ms):20000

在我的 Servers->Tomcat v7.0->Timeouts 我有

Start(in seconds): 45
Stop(in seconds): 15

现在,当我运行我的 WebService 时,有时它运行良好,有时我得到 RemoteException e2: java.net.SocketTimeoutException: 读取超时

我是否正确设置了Timeout? 因为我尝试更改它并且仍然发生相同的情况,所以有时会收到错误,有时不会

【问题讨论】:

  • 我有同样的问题..即使增加超时时间,我有时仍然面临这个异常......如果你实现了,请发布你的解决方案..
  • 作为记录,这可能无关紧要,但观察到我遇到的一个产生相同错误的问题,我们在 Tomcat 上运行了 MySQL 数据库的重新索引,意外占用了 300% 的 CPU .意味着与我们服务的连接引发了 SocketTimeOutErrors ......类似的事情可能会导致我想象的其他 Tomcat 服务器出现问题。为了解决这个问题,我们显然只是终止了该进程。

标签: java eclipse tomcat7 timeoutexception


【解决方案1】:

显然,有时您拨打的电话需要超过 3.5 秒才能完成。在这种情况下,获得SocketTimeoutException 是预期的行为。

【讨论】:

  • 即使增加_call.setTimeout(xxxx) 我仍然有问题。假设_call.setTimeout(xxxx) 必须介于 Debugger timeoutLaunch timeout 之间,不是吗?
  • 有这么多的可能性,在这里把你设置的所有相关细节都放在一个问题中太难了。您需要找到可以亲自帮助您的人。
  • 我认为逻辑是这样的,但我尝试更改 '_call.setTimeout(3000 或 6000 等)' 并始终创建 web 服务,但有时会给我这个异常,有时不会,我不明白为什么,即使将 Debugger timeout 和 Launch timeout 设置为最大或最小可能,仍然会发生。我在此论坛中查看有关此异常的其他问题,但一无所获
猜你喜欢
  • 2011-01-29
  • 2011-07-13
  • 2015-10-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-27
相关资源
最近更新 更多