JMS API允许消息声明replyTo Destination
实例.(即的超类Queue
,Topic
).然后,服务可以使用此队列向发送方发送回复消息.
Destination
可以设置为ReplyTo值的限制是什么?这似乎不太可行,因为服务可能甚至没有任何到定义的网络路由Destination
,因此无法返回任何消息.JMS是否以某种方式断言所提供的有效性(可达性)Destination
?或者仅仅是服务尝试响应给定Destination
并在必要时失败.
Ara*_*ram 13
场景1
在这种情况下,它Destination
是预配置的,因此证明可行.将此目标设置为JMSReplyTo
标头值没有太大价值,因为接收方可能已经知道此预配置目标的存在.
情景2
在这种情况下,发送方创建一个临时目的地,接收方只能通过调用getJMSReplyTo()
接收方法来了解这一点Message
.这种建立发送方和接收方之间的私有信道.阅读这篇关于临时目的地的利弊的好文章.
示例代码
Queue tempQueue = qSession.createTemporaryQueue();
TextMessage request = qSession.createTextMessage();
request.setJMSReplyTo(tempQueue);
QueueReceiver qReceiver = qSession.createReceiver(tmpQueue);
Message response = qReceiver.receive();
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
18971 次 |
最近记录: |