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