Java 如何将HornetQ消息代理与RESTful服务JAX-RS连接

Java 如何将HornetQ消息代理与RESTful服务JAX-RS连接,java,jms,jax-rs,activemq,middleware,Java,Jms,Jax Rs,Activemq,Middleware,我使用JAX-RSJersey创建了一个RESTful服务,并将其部署在Tomcat7服务器上 现在我想使用JMS。请求将被捕获并定向到消息代理上的消息队列,从那里消息将被推送到REST服务,然后响应将被重定向到最终用户 我正在使用Activemq。如何将Activemq与RESTful服务集成?您的Web服务界面需要提供两个功能:submit和poll 客户端调用submit,然后将请求作为JMS消息发送到传入队列,并返回消息ID。submit随后返回 请求处理以异步方式运行。例如,消息驱动

我使用JAX-RSJersey创建了一个RESTful服务,并将其部署在Tomcat7服务器上

现在我想使用JMS。请求将被捕获并定向到消息代理上的消息队列,从那里消息将被推送到REST服务,然后响应将被重定向到最终用户


我正在使用Activemq。如何将Activemq与RESTful服务集成?

您的Web服务界面需要提供两个功能:
submit
poll

  • 客户端调用
    submit
    ,然后将请求作为JMS消息发送到传入队列,并返回消息ID。
    submit
    随后返回
  • 请求处理以异步方式运行。例如,消息驱动bean(messagedrivenbean,MDB)侦听传入队列,处理消息,并将结果放入传出队列。它将结果消息的相关ID设置为传入请求的消息ID。连接请求及其结果需要相关ID
  • 客户端使用消息ID(由
    submit
    返回)作为参数调用
    poll
    函数:
    poll
    使用相关ID上的JMS消息选择器检查结果队列。它返回“尚未完成”或结果。客户端可能需要多次调用
    poll
    以获得结果
注:

  • JMS消息选择器是一个过滤器(就像数据库中的where子句):在这个场景中,需要它来标识给定请求的结果
  • Javadoc

我不明白这个问题。您想让REST服务将消息放入消息队列,然后在REST服务中处理消息吗?@Zagrev我的意思是客户端(供应商)将发送请求(消息)这将在消息队列中,然后转发到Restful服务,该服务将以JSON/XML给出一些响应,然后它将再次作为同一消息的响应发送回客户端。我的Rest服务是一个独立的实体。是的,我在同一条线上。不过,我会问更多关于这一点,一旦我来了这一次。谢谢你的回答。@Beryylium嗨,我不能这么做。你能给我更多的见解吗。如果可能的话,您可以给我一个示例,其中有一个servlet,其中有过滤机制,资源类有Jersey。我被困住了,没有任何线索。请帮忙。谢谢