Asynchronous 异步JMS消息传递

Asynchronous 异步JMS消息传递,asynchronous,jms,Asynchronous,Jms,如何实现异步JMS应用程序?是否有必要更改服务器程序或只是我应该更改客户端代码? 我想知道如何将同步JMS消息传递更改为异步?非常简单。您需要为消费者分配一个消息侦听器以异步接收消息 consumer.setMessageListener(new MessageListener). Google将为您提供大量示例。JavaEE中的消息驱动bean是异步的。天生的。简单的MDB可以如下所示: @MessageDriven(mappedName = "jms/MyQueue") // JNDI n

如何实现异步JMS应用程序?是否有必要更改服务器程序或只是我应该更改客户端代码?
我想知道如何将同步JMS消息传递更改为异步?

非常简单。您需要为消费者分配一个消息侦听器以异步接收消息

consumer.setMessageListener(new MessageListener).

Google将为您提供大量示例。

JavaEE中的消息驱动bean是异步的。天生的。简单的MDB可以如下所示:

@MessageDriven(mappedName = "jms/MyQueue") // JNDI name for a specific Destination (queue or topic)
public class MyMDB implements MessageListener{
  public void onMessage(Message msg){
    // handle it async.

  }
}
否则,在普通java/JMS中,它几乎是一样简单、相同的代码,但不是@MessageDriven注释,而是必须执行一些初始化代码来启动和运行JMS使用者。当然,还必须完成标准JMS设置过程,比如获取连接工厂、创建连接和查找目标

public class MyConsumer implements MessageListener{ 


  public void init(Connection conn, Destination dest){
    // connection and destination from JNDI, or some other method.
    Session sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
    MessageConsumer cons = sess.createConsumer(dest);
    cons.setMessageListener(this);
    conn.start();
  }

  @Override
  public void onMessage(Message msg) {
    // Do whatever with message

   }
}

JMS本质上是异步的,我不理解你,你是程序员吗?不,我只是搜索了j2ee中的异步方法,当我熟悉JMS时,我发现客户端可以异步地从服务器接收消息。我想知道我该怎么做?