1

我如何使用异步 EJB 并通过 Future 对象询问结果?谁能给我一个完整的例子。

4

1 回答 1

6

在 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){

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

return new AsyncResult<String>("Hello "+name);
于 2012-07-20T06:10:02.297 回答