访问其他系统接口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
<bean id="taskExecutor" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor">
<!-- 核心线程数 -->
<property name="corePoolSize" value="" />
<!-- 最大线程数 -->
<property name="maxPoolSize" value="" />
<!-- 队列最大长度 -->
<property name="queueCapacity" value="" />
<!-- 线程池维护线程所允许的空闲时间,默认为60s -->
<property name="keepAliveSeconds" value="" />
</bean>

2.操作:

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

最新文章

  1. Ubuntu14.04 LTS更新源
  2. 创建eclipse针对NDK的联合编译环境。
  3. [转]揭秘webdriver实现原理
  4. 看看,这就是微软的“万物互联”系统 window10 IOT
  5. 清理java环境
  6. IE CSS Bug 系列
  7. Windows在配置Python+tornado
  8. Linux 启动过程的详细解释
  9. scrollWidth,offsetWidth,clientWidth,width;scrollHeight,offsetHeight,clientHeight,height;offsetTop,scrollTop,top;offsetLeft,scrollLeft,left还有谁
  10. 神奇的 conic-gradient 圆锥渐变
  11. EBS API及接口清单
  12. Ansible--Ad-Hoc
  13. BZOJ1283 序列 网络流区间覆盖模型
  14. P4556 [Vani有约会]雨天的尾巴
  15. tomcat:利用tomcat部署war包格式的项目
  16. Ajax传数据到servlet
  17. codevs 1795 金字塔 2
  18. C++课堂作业二之反转链表
  19. scala 时间格式转换(String、Long、Date)
  20. 前端url传递编码问题

热门文章

  1. Openshift 自建DDNS动态域名
  2. IT兄弟连 HTML5教程 CSS3属性特效 遮罩
  3. Java基础语法05-面向对象-封装-包-构造器-初始化
  4. Java基础语法04面向对象上-类-属性-方法-可变参数-重载-递归-对象数组
  5. Microsemi Libero系列教程(二)——新建点灯工程
  6. pandas 初识(五)
  7. ImageView设置rounded corner
  8. tensorflow 神经网络模型概览;熟悉Eager 模式;
  9. python(二) jupyter 快捷键
  10. nginx 配置实例-反向代理