首页 > 其他分享 >超时异常

超时异常

时间:2024-04-24 15:44:18浏览次数:14  
标签:restClient ResourceAccessException factory entity new 超时 异常

org.springframework.web.client.ResourceAccessException

I/O error on POST request for "http://xxxxx/yyyy": Read timed out

restClient 主动设置的超时时间或者服务器设置的超时时间到了,都会返回 ResourceAccessException

 private ResponseEntity<String> call(JSONObject jsonObj) {
        String jsonStr = jsonObj.toJSONString();
        RestTemplate restClient = new RestTemplate(HttpsUtils.getInstance().getUnsafeClientHttpRequestFactory());
        HttpComponentsClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory();
        factory.setConnectTimeout(10000);
        factory.setReadTimeout(30000);
        restClient.setRequestFactory(factory);
        restClient.getMessageConverters().set(1, new StringHttpMessageConverter(StandardCharsets.UTF_8));
        HttpEntity<Object> entity = new HttpEntity<>(jsonStr, new HttpHeaders());
        ResponseEntity<String> pyResponse = null;
        pyResponse = restClient.postForEntity(url, entity, String.class);
        return pyResponse;
    }

java.util.concurrent.ExectutionException


final CompletableFuture<ResponseEntity<String>> future = CompletableFuture.supplyAsync(
                () -> call(jsonObj), callExecutor);
        try {
            int to = 10;
            final ResponseEntity<String> entity = future.get(to, TimeUnit.SECONDS);
            resultObj = JSON.parseObject(entity.getBody());
            processCallPythonResult(tagId, resultObj);
        } catch (InterruptedException | ExecutionException e) {
		//ResourceAccessException 会通过 ExecutionException 报出来
		//org.springframework.web.client.ResourceAccessException: I/O error on POST request for "http://xxxxx/yyyy": Read timed out; nested exception is java.net.SocketTimeoutException: Read timed out
            throw new WimException(e);
        } catch (TimeoutException e) {
		//future get 超时时间到了会通过 TimeoutException 报出来
        }

标签:restClient,ResourceAccessException,factory,entity,new,超时,异常
From: https://www.cnblogs.com/sunupo/p/18154769

相关文章

  • DRF之异常捕获源码分析
    DRF之异常捕获源码分析【一】异常捕获介绍DjangoRestFramework(DRF)是一个用于构建WebAPI的强大框架,它提供了一种处理异常的机制,使开发人员能够捕获和处理各种异常情况。DRF中的异常捕获类是用于捕获和处理这些异常的关键组件之一。【二】异常捕获流程分析#全局异常处理......
  • 异常机制(Exception)-(未完待续)
    什么是异常认识异常实际生活中,遇到的情况不可能是非常完美的。比如:你写的某个模块,用户输入不一定符合你的要求,你的程序要打开某个文件,这个文件可能不存在或者文件格式不对,你要读取数据集库的数据,数据可能是空的等等。我们的程序在跑着,内存或硬盘可能满了等等……软件程序在运......
  • NETCORE - 全局异常处理(Exception)
    NETCORE-全局异常处理(Exception)环境:.net6创建异常中间件:ExceptionHandlingMiddleware.csusingMicrosoft.AspNetCore.Http;usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Net;usingSystem.Text;usingSystem.Text.Json;usingSyst......
  • pyhon脚本监控远程服务器存活情况,异常发送钉钉告警
    #!/usr/bin/python#!_*_coding:utf-8_*_importosimporttimefromcollectionsimportCounterfromdatetimeimportdatetimehost='localhost'ips=['192.168.xx.70','192.168.xx.83','172.16.xx.107']defping(ip):  #respo......
  • 全局异常捕获及源码分析
    全局异常捕获​ drf只会捕获属于drf的异常,所以要做到全局异常捕获,还需要手动操作一下。​ 经过对drf异常处理组件的源码分析之后可以得知,其实就是自己定义一个exception_handler函数,然后全局替换一下即可​ 首先要知道,虽然是自己写一个exception_handler函数,但是drf的exception......
  • Apollo启动配置排查,超时时间的配置
    Apollo启动配置排查1.排查下来是本地的服务apollo配置fake发布到线上去了。2.或者是引用的apollojar包中指向的apollo服务器地址是否正确。3.超时时间的配置##全套配置,在项目中和eureka中都加上。feign.client.config.default.connectTimeout=20000feign.client.confi......
  • 某游戏忍者全局过异常分析
    虽然这篇文章可能会涉及到某些人的利益,但我还是写了首先,我们先将手机与ce进行桥接(具体的教程b站有)然后我们先找到a内存的过异常(原理就是将当前怪物包改0,当前市面上广为流传的过异常都是这个原理)我们在ce中添加他的地址查看访问他的操作码(触发他)然后我们看到访问了他的......
  • 达梦数据库升级和配置以及部分异常处理
    达梦数据库升级和配置以及部分异常处理背景最近几天发现一个达梦数据库出现多次报错后台的提示信息是:Cause:dm.jdbc.driver.DMException:超出全局hashjoin空间,适当增加HJ_BUF_GLOBAL_SIZE感觉比较奇怪.因为内存空间自己设置的应该是没问题的.耗费了很长的时间进行......
  • 短视频源码,高效异常处理让您的代码更完美
    在编写Python代码的过程中,我们常常会遇到各种错误和异常。学会有效地处理这些异常,可以让短视频源码更加健壮、稳定。本文将带您深入了解Python异常处理的艺术,让您的短视频源码更加完美!一.异常简介异常是在短视频源码执行过程中发生的事件,通常表示代码中存在错误或异常情况......
  • STM32、ESP8266与MQTT连接阿里云物联网的串口通信异常解析
    STM32、ESP8266与MQTT协议连接阿里云物联网平台时常见的串口通信异常介绍在构建物联网应用时,STM32、ESP8266与MQTT协议的结合是实现设备与网络间稳定通信的关键。然而,在连接阿里云物联网平台的过程中,串口通信异常成为了一个常见的挑战。本文将探讨这些异常现象及其可能的原因,并给......