我期待在Java EE容器内使用JMS实现同步请求 - 答复模式。序列会是这样的Java EE容器中的同步请求 - 答复模式
- 浏览器向Web应用程序请求数据。这是一个阻塞请求(在线程T1上说)。
- Web应用程序需要连接到远程Web服务才能满足上述请求。所以它形成一个请求并将它放在一个队列中(同时还声明了一个回复队列)。
- 远程服务处理请求并将响应放置到步骤2中声明的回复队列中
- 响应从Web应用中的回复Q中读取,并提供给阻塞线程T1第1步:
我都接着T.Rob所提供的答案(How to match MQ Server reply messages to the correct request)
QueueReceiver queueReceiver =
session.createReceiver(destination, "JMSCorrelationID='customMessageId'");
TextMessage receivedMessage = (TextMessage)queueReceiver.receive(15000);
在Java EE容器(Web模块)运行时,其中可能有多个是上述方案有效并发请求进入?
是如何实现的远程服务:一个独立的队列接收器,MDB,另一个系统,...? – Beryllium
远程服务作为MDB实现,它在预定义的队列上侦听请求。 – Rocky