0
假设我有2个服务调用需要并行运行。眼下代码只是像如何从实际业务逻辑中解耦多线程逻辑
a.service1()
b.service2()
我用来调用接口并行
List callables = newArrayList();
callables.add(new Callable() {
public Object call() throws Exception {
a.service1();
}
});
callables.add(new Callable() {
public Object call() throws Exception {
b.service2();
}
});
ExecutorService executor = Executors.newFixedThreadPool(callables.size());
List futures = executor.invokeAll(callables);
for(Future future : futures) {
...
}
executor.shutdown();
运行此过程,但这个曾在一个地方多线程&业务逻辑只&我想那个隔离。
这取决于你的问题真的有多复杂,多少复杂性是值得的。 Spring Integration可以很好地处理这种情况,但可能会矫枉过正。 – chrylis 2014-09-24 10:39:16
这2个过程不依赖。他们进行单独的Web服务调用,所以我想让它们平行。这是唯一的要求。 – user1298426 2014-09-24 10:42:30
Spring AOP'@ Async'? – chrylis 2014-09-24 10:56:16