JMS 队列 Request/Response 与 REST

JMS queue Request/Response vs. REST

假设的场景是 JMS 队列是异步的,可能有响应队列,而 REST 是同步的。异步响应的行为是否像 REST 响应,或者 JMS 响应只是消息已处理的确认?是配置问题吗?

在基于消息的请求-响应用例中,应用程序将请求消息发送到队列。此时应用程序可以自由地做任何它想做的事,这是使用异步消息而不是同步 REST 的好处之一。例如,应用程序可以...

  • 阻止等待响应(这在功能上等同于同步 REST 行为)
  • 设置一个 javax.jms.MessageListener 以在响应准备就绪后立即异步处理响应
  • 执行一些其他任务,然后稍后检查响应是否可用,无穷无尽

与此同时,另一个应用程序将使用请求消息,对其进行处理,并发送包含处理结果的响应消息。最终响应消息的内容基于您的用例。在任何情况下,这都不是“配置问题”,除非您已将响应应用程序设计为提供可配置的响应。