一、超时概念
网络请求时,一般会根据业务需要设置超时时间。超时有连接超时以及读超时:
ConnectTimeout (连接超时):
指的是建立连接所用的时间,适用于网络状况正常的情况下,两端连接所用的时间。
在java中如果超过连接时间还没连接上会抛出异常 java.net.SocketException: connetct time out
ReadTimeout (读超时):
指的是连接建立后,从服务器读取到可用资源所用的时间。
在java中,如果超过了读超时时间还没读取到内容,则会抛出异常 java.net.SocketException: read time out
二、jersey Client设置超时方法
jersey Client默认的超时时间是1分钟。修改超时时间的方法如下:
2.1 创建Client后设置
client = ClientBuilder.newClient(); client.property(ClientProperties.CONNECT_TIMEOUT, 30000);//连接建立超时时间 client.property(ClientProperties.READ_TIMEOUT, 30000);//读取内容超时时间
2.2 创建Client时将参数传入
ClientConfig configuration = new ClientConfig(); configuration = configuration.property(ClientProperties.CONNECT_TIMEOUT, 30000);//连接建立超时时间 configuration = configuration.property(ClientProperties.READ_TIMEOUT, 30000);//读取内容超时时间 client = ClientBuilder.newClient(configuration);