Jersey REST服务抛出超时异常

时间:2017-08-15 16:33:53

标签: java rest jersey spring-rest

我们有一个Jersey REST服务,REST客户端使用Spring的REST模板,偶尔我们注意到客户端从REST服务获得了500个内部服务器错误:

error: 500 Internal Server Error; nested exception is org.springframework.web.client.HttpServerErrorException: 500 Internal Server Error

检查服务器的日志时我们发现了这个:

org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [ABC] in context with path [] threw exception [javax.ws.rs.ProcessingException: java.net.ConnectException: Connection timed out (Connection timed out)] with root cause
java.net.ConnectException: Connection timed out (Connection timed out)
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)

我不确定这里的问题是,服务器超时还是客户端超时?如果它是客户端问题,我可以添加重试,但如果它的服务器超时该怎么办?

1 个答案:

答案 0 :(得分:1)

错误Connection timed out:表示您的请求未在特定时间或时间段内收到回复。并且有很多理由让我们的响应机器人在时间段内超时:

1)可能是IP地址或端口不正确。

2)可能是IP地址已关闭。

3)您的服务器或主机所花费的时间比指定的超时时间更长或更长。

4)可能是服务器或主机的防火墙阻塞您正在使用的请求或端口。

5)互联网接入或本地网络问题或连接。

6)由于错误的网络配置或流量过载导致数据包丢失。

c)在主机或服务器上重载了太多请求。