spring – 从Web应用程序和Apache Camel /并使用MQ,您是否使用jsessionid添加JMS消息?

我有一个Web应用程序,它将在MQ消息队列上启动消息(比如启动处理).我有一个使用Camel Spring DSL定义的消费者和生产者配置.我想从Web应用程序中推送消息,只有该会话和客户端才能获得响应.我可以使用jsessionid和其他一些随机消息ID来设置消息,以便只有该客户端才能获得响应吗?

例如.想象一下Camel Spring的DSL xml配置:

  <route id="webRequestToInRoute">
      <to uri="activemq:queue:inbox :::: here I want to getJsessionId() as the message ... name?"/>
  </route>

更重要的是,我可以通过浏览器与骆驼休息服务之间的通信方式到JMS路由,主要是为了拉动状态?

最佳答案 Web应用程序会话发布消息

>将消息上的JMSReplyTo标头设置为:temp-queue://ORDER.$jSessionId
>在temp-queue上设置一个使用者://ORDER.$jSessionId
>发送至 – >队列://PROCESS.ORDER

在REST服务上

>从队列中获取://PROCESS.ORDER
>做有消息的东西
>发布对temp-queue的响应://ORDER.$jSessionId

一旦不再有消息,消费者或生产者,经纪人将自动删除临时队列,因此没有清理新手

点赞