将EJB与Future <?>对象一起使用

Aza*_*zad 1 java ejb

我如何使用异步EJB并向Future对象请求结果?任何人都可以通过一个完整的例子告诉我

Pra*_*a V 5

在EJB 3.1之前,如果要执行异步处理,则必须使用JMS和MDB,在EJB 3.1中,可以在方法上使用带有@Asynchronous注释的简单会话EJB,该方法必须异步调用.

@Stateless
@Remote(HelloEjbAsynchronousRemote.class)
public class HelloEjbAsynchronous implements HelloEjbAsynchronousRemote {

@Asynchronous
@Override
public Future<String> ejbAsynchronousSayHello(String name){
Run Code Online (Sandbox Code Playgroud)

如果您的方法具有返回值,则您的方法必须返回AsyncResult对象,该对象是Future的实现.

return new AsyncResult<String>("Hello "+name);
Run Code Online (Sandbox Code Playgroud)