JMS提供了QueueRequestor,这是一个能发送请求和接收应答的简单类。请求者包含一个QueueSender来发送请求,并且利用一个QueueReceiver接收应答。每个请求者会创建自己的临时队列以接收应答,并把该队列的地址设置在请求消息的reply-to属性中。请示者发送和接收应答的代码非常简单:
QueueConnection connection=//获得连接
Queue requestQueue=//获得队列
Message request=//创建请求消息
QueueSession session=connection.CreateQueueSession(false,Session.AUTO_ACKNOWLEDGE);
QueueRequestor requestor=new QueueRequestor(session,requestQueue);
Message reply=requestor.request(request);
request方法负责发送请求消息,这个方法会阻塞,直到接收应答消息为止。
QueueRequestor使用的TemporaryQueue是一个点对点通道。相应的发布-订购通道是TemporaryTopic和TopicRequestor.
QueueConnection connection=//获得连接
Queue requestQueue=//获得队列
Message request=//创建请求消息
QueueSession session=connection.CreateQueueSession(false,Session.AUTO_ACKNOWLEDGE);
QueueRequestor requestor=new QueueRequestor(session,requestQueue);
Message reply=requestor.request(request);
request方法负责发送请求消息,这个方法会阻塞,直到接收应答消息为止。
QueueRequestor使用的TemporaryQueue是一个点对点通道。相应的发布-订购通道是TemporaryTopic和TopicRequestor.