博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(办公)访问其他系统接口httpClient,异步访问
阅读量:4357 次
发布时间:2019-06-07

本文共 913 字,大约阅读时间需要 3 分钟。

  访问其他系统接口httpClient,但是都是同步的,同步意味当前线程是阻塞的,只有本次请求完成后才能进行下一次请求;异步意味着所有的请求可以同时塞入缓冲区,不阻塞当前的线程;

     httpClient请求,访问其他系统可能无响应,锁死,访问请求上线种种问题,这些问题就像苍蝇嗡嗡嗡的在你耳边,那么解决他可以设置超时时间,但是访问一个接口将近1分钟,这个是不应该的,所以还是要异步请求其他系统的接口,我们可以使用多线程来做,建立一个线程池,只指定10个线程,然后调用方法。(好主意)

   下面是举个springmvc的例子:

    1.往springmvc里添加线程池

application.xml里添加 xmlns:task="http://www.springframework.org/schema/task"http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task.xsd

     2.操作:

//自定义线程池: @Resourceprivate TaskExecutor taskExecutor;try {      taskExecutor.execute(new Runnable() {        public void run() {          //这里编写处理业务代码           //注意方法传递参数的时候,尽量使用基本类型的值。                  }      });    } catch (Exception e) {      e.printStackTrace();    }

 

转载于:https://www.cnblogs.com/historylyt/p/11140019.html

你可能感兴趣的文章
线程池
查看>>
XMAL 中x名称控件的Auttribute
查看>>
java笔记11-内部类
查看>>
给年轻程序员的几句话
查看>>
ionic如何uglify和minify你的js,css,image,png....
查看>>
[LeetCode]Minimum Depth of Binary Tree
查看>>
jboss初体验
查看>>
Python列表、元组练习
查看>>
angular页面刷新
查看>>
Leetcode:7- Reverse Integer
查看>>
C6表单(方成eform)---自定义流程标题格式
查看>>
GridView下DropDownList 的选择方法onselectedindexchanged 实现方法
查看>>
Python之set集合
查看>>
Generic Repository Pattern - Entity Framework, ASP.NET MVC and Unit Testing Triangle
查看>>
Win7 下新版本Windows Virtual PC 安装SharePoint步骤详解
查看>>
SQLSERVER 升级版本的方法
查看>>
正则表达式基本语法详解
查看>>
BZOJ2132: 圈地计划
查看>>
PHP数据库连接mysql与mysqli的区别与用法
查看>>
char * 与char []探究理解
查看>>