多线程调用第三方API接口
public void ThreadDemo() {
//集合 相当于请求内容
List<String> list = new ArrayList<String>();
list.add("110101198001119833");
list.add("110101198001119876");
list.add("110101198001119892");
list.add("110101198001119913");
list.add("110101198001119956");
//创建线程池 newFixedThreadPool(10) 创建一个定长线程池,可控制线程最大并发数为10(根据需求自行修改)
ExecutorService newFixedThreadPool = Executors.newFixedThreadPool(10);
for (String key : list) {
newFixedThreadPool.execute(new Runnable() {
@Override
public void run() {
//请求体(根据业务需求写)
BrokerReq brokerReq=new BrokerReq();
brokerReq.setCertiCode(key);
//第三方API接口(本场景为外调接口,根据公司框架和业务自行修改)
Object res = serviceInvoker.httpPostInvokeLoadBalanced("http://app/xxx/xxx",brokerReq, Map.class);
//以下内容为返回的结果集 请根据返回的信息解析 (内容仅供参考)
JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(res));
String code = jsonObject.getString("code");
if (!"SYS_S_000".equals(code)) {
logger.info("调用接口失败");
}else {
JSONObject output = jsonObject.getJSONObject("output");
logger.info("调用接口成功【】",JSON.toJSONString(output));
}
}
});
}
}
参考文档:
https://www.cnblogs.com/baizhanshi/p/5469948.html
原文作者:艺艺小同学
原文地址: https://blog.csdn.net/qq_39954604/article/details/103370411
本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
原文地址: https://blog.csdn.net/qq_39954604/article/details/103370411
本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
相关文章