我看到我公司的一个应用程序使用JMS进行并发调用。该应用程序是一个用Spring编写的The服务。这会发出多个外部呼叫。当接收到操作的请求时,它将许多消息发送到JMS队列,并由MDB处理这些消息。然后,应用程序整理所有响应,将其映射回其数据模型并返回响应。我过去曾使用JMS发出触发和忘记调用,但我不能弄清楚应用程序是如何等待来自JMS队列的响应的。请你解释一下有没有办法这样做?
发布于 2016-09-08 19:15:16
维基,一种方法是使用业务关联。真正意义上的消息传递是异步的。但是可以使用"psuedo-synchronous“调用。这样做的方法是在发布请求时使用ID,并在同一线程上使用JMSMessageSelector (具有相同ID)轮询响应。此外,如果有多个后端,您也可以进行聚合,这也可以通过在消息中包含一个部分id并在聚合和发送响应之前进行轮询来查看是否所有的“部分都已组装好”。JMS Message Selector。模式的高级概述也记录在here中。
https://stackoverflow.com/questions/39379301
复制相似问题