0

我想公开一个公共 RESTful API 并配置我们的 ActiveMQ 实例(可能)以侦听该 API 并自动将这些 API 调用的 JSON 或 XML 版本排入队列,或者配置/编写软件以将 API 调用转换为消息并将消息排入 ActiveMQ 队列/主题。

所以,换句话说:

  1. 第三方发送 HTTP 请求(GET/POST/PUT/whatever)到http://myserver.com/api/enqueue
  2. 任何一个:
    • ActiveMQ 以某种方式侦听API 调用主体http://myserver.com/api/enqueue并自动将队列/主题排入队列;toProcess或者
    • 我有某种 servlet 在该 URL 上侦听,然后将请求传递给某些软件(开源 Java 库或本地开发的东西),该软件可以提取HttpServletRequest' 的主体并将其排入 ActiveMQ 服务器上的队列/主题

所以我问:ActiveMQ 是否具有开箱即用的这种功能(初步研究表明它没有),或者是否有任何开源库可以为我做到这一点,或者它的一部分为我?或者,我是否坚持使用定制的本土解决方案?提前致谢。

4

1 回答 1

1

以一种简单的方式,ActiveMQ 实际上确实支持 HTTP/REST-ish 与开箱即用的队列交互。

正如您确实要求 Camel,是的,它确实支持创建更高级的 REST API:s 并且与 ActiveMQ 配合得非常好(实际上,Camel Core 和 JMS 模块是 ActiveMQ 发行版的一部分)。

我最喜欢用 Camel 创建 REST API 的方法是通过restlets

正如布赖恩·罗奇所说,这应该很直接地用纯 java 代码以及一些辅助库来做,所以不要对这里的自制东西感到难过。

于 2012-12-16T21:20:40.243 回答