从Webapp和Apache Camel /并使用MQ,您是否使用jsessionid添加JMS消息?

时间:2016-01-15 13:45:55

标签: spring apache-camel jms

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

E.g。想象一下Camel Spring的DSL xml配置:

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

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

1 个答案:

答案 0 :(得分:1)

Web应用会话发布消息

  1. 将消息上的JMSReplyTo标头设置为:temp-queue://ORDER.$jSessionId
  2. 在temp-queue上设置一个使用者://ORDER.$jSessionId
  3. 发送至 - &gt;队列://PROCESS.ORDER
  4. 在REST服务上

    1. 从队列中消费://PROCESS.ORDER
    2. 做有消息的东西
    3. 发布对temp-queue的响应://ORDER.$jSessionId
    4. 一旦不再有消息,消费者或生产者,经纪人将自动删除临时队列,因此没有清理必要的