并发请求下游多个服务
Future + 线程池+ countDownLatch 并发请求多个服务
public String getDataFromAandB(){CountDownLatch countDownLatch = new CountDownLatch(2);Future<String> fa = getDataFromA(countDownLatch);Future<String> fb = getDataFromB(countDownLatch);countDownLatch.await();String a = fa.get();String b = fb.get();return a+b;}@Asyncpublic Future<String> getDataFromA(CountDownLatch countDownLatch){String a = getFromA();try{return AsyncResult.forValue(a);. }catch(Exception e){}finally{countDownLatch.countDown();}}@Asyncpublic Future<String> getDataFromB(CountDownLatch countDownLatch){// 请求B系统String b = getFromB();try{return AsyncResult.forValue(b);. }catch(Exception e){}finally{countDownLatch.countDown();}}
