如何在不编写并发逻辑的情况下使用Spring返回Future对象?

如何使用Receipt对象返回java.util.concurrent.Future对象并仅使用@ javax.ejb.Asynchronous注释?

我需要任何额外的配置让Spring处理ejb注释吗?

我不想自己编写任何并发逻辑.

这是我的尝试不起作用:

@Asynchronous
public Future<Receipt> execute(Job job) {
    Receipt receipt = timeConsumingWork(job);
    return receipt;
}
最佳答案
只要您的配置正确,您需要做的就是返回一个新的AsyncResult对象,并将收据作为输入参数.

@Asynchronous
public Future<Receipt> execute(Job job) {
    Receipt receipt = timeConsumingWork(job);
    return new AsyncResult<Receipt>(receipt);
}

Spring使用< task:annotation-driven />处理@Async和@Asynchronous.元件.

转载注明原文:如何在不编写并发逻辑的情况下使用Spring返回Future对象? - 代码日志