您的位置首页百科知识

httpConnection setConnectTimeout 超时无响应

httpConnection setConnectTimeout 超时无响应

的有关信息介绍如下:

httpConnection setConnectTimeout 超时无响应

最近在做项目,其中大量需要调用第三方接口,所以在本地测试,由于数据量小的缘故,没有发现连接超时无响应的问题,部署到生产环境,就会抛异常,好了不多说了下面我来介绍一下如何解决的

由于调用接口都是用了httpConnection,所以一开始就设置了连接超时时间,如下图

经过压力测试工具测试 连接真正的接口,抛出以下异常(weblogic)

ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)

经过一系列分析发现,接口连接正常,但是由于底层接口数据量过大,导致响应速度慢,所以程序一直在等待响应数据,导致时间过长抛出无响应超时异常,

只设置了setConnectTimeout没有设置setReadTimeout参数导致的

setConnectTimeout:设置连接主机超时(单位:毫秒)setReadTimeout:设置从主机读取数据超时(单位:毫秒)

例如:

HttpURLConnection urlCon = (HttpURLConnection)url.openConnection();

urlCon.setConnectTimeout(30000);

urlCon.setReadTimeout(30000);