Java 将EJB用于未来<&燃气轮机;对象

Java 将EJB用于未来<&燃气轮机;对象,java,ejb,Java,Ejb,如何使用异步EJB并询问未来对象的结果?有人能给我举一个完整的例子吗。在EJB3.1之前,如果您想执行异步处理,您必须使用JMS和MDB,在 在EJB3.1中,您可以使用一个简单的会话EJB,在方法上使用@Asynchronous注释,该方法必须异步调用 @Stateless @Remote(HelloEjbAsynchronousRemote.class) public class HelloEjbAsynchronous implements HelloEjbAsynchronousRemo

如何使用异步EJB并询问未来对象的结果?有人能给我举一个完整的例子吗。

在EJB3.1之前,如果您想执行异步处理,您必须使用JMS和MDB,在 在EJB3.1中,您可以使用一个简单的会话EJB,在方法上使用@Asynchronous注释,该方法必须异步调用

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

@Asynchronous
@Override
public Future<String> ejbAsynchronousSayHello(String name){
@无状态
@远程(HelloEjbAsynchronousRemote.class)
公共类HelloEjbAsynchronousRemote实现HelloEjbAsynchronousRemote{
@异步的
@凌驾
公共未来ejbAsynchronousSayHello(字符串名称){
如果您的方法有一个返回值,那么您的方法必须返回一个AsyncResult对象,它是Future的一个实现

return new AsyncResult<String>("Hello "+name);
返回新的异步结果(“Hello”+name);

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

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

@Asynchronous
@Override
public Future<String> ejbAsynchronousSayHello(String name){
@无状态
@远程(HelloEjbAsynchronousRemote.class)
公共类HelloEjbAsynchronousRemote实现HelloEjbAsynchronousRemote{
@异步的
@凌驾
公共未来ejbAsynchronousSayHello(字符串名称){
如果您的方法有一个返回值,那么您的方法必须返回一个AsyncResult对象,它是Future的一个实现

return new AsyncResult<String>("Hello "+name);
返回新的异步结果(“Hello”+name);

有关更多详细信息,非常感谢。它对我非常有用。是否有必要在接口中的方法或客户端类中使用@Asynchronous annotation?有关更多详细信息,非常感谢。它对我非常有用。是否有必要在接口中的方法或客户端类中使用@Asynchronous annotation使用它?你需要更具体一些。你能发布一些代码来显示你正在尝试做什么吗?你需要更具体一些。你能发布一些代码来显示你正在尝试做什么吗?