如何使用Receipt对象返回java.util.concurrent.Future
对象并仅使用@javax.ejb.Asynchronous
注释?
我是否需要任何额外的配置让Spring处理ejb注释?
我不想自己编写任何并发逻辑。
这是我的尝试不起作用:
@Asynchronous
public Future<Receipt> execute(Job job) {
Receipt receipt = timeConsumingWork(job);
return receipt;
}
答案 0 :(得分:6)
只要您的配置正确,您需要做的就是返回一个新的AsyncResult
对象,并将收据作为输入参数。
@Asynchronous
public Future<Receipt> execute(Job job) {
Receipt receipt = timeConsumingWork(job);
return new AsyncResult<Receipt>(receipt);
}
Spring使用@Async
元素处理@Asynchronous
和<task:annotation-driven />
。