How can I return a java.util.concurrent.Future object with a Receipt object and only use the @javax.ejb.Asynchronous annotation?
And do I need any extra configuration to let Spring handle ejb annotations?
I don’t want to write any concurrency logic myself.
Here’s my attempt that doesn’t work:
@Asynchronous
public Future<Receipt> execute(Job job) {
Receipt receipt = timeConsumingWork(job);
return receipt;
}
As long as your configuration is correct, all you need to do is to return a new
AsyncResultobject with the receipt as input parameter.Spring handles both
@Asyncand@Asynchronouswith the<task:annotation-driven />element.