是否有适用于所有 AMQP 代理的 JMS API/客户端?

发布于 2025-01-01 13:19:38 字数 138 浏览 4 评论 0原文

JMS 是 Java 领域中消息传递的供应商中立 API。 AMQP 的使命是“成为所有消息中间件之间互操作的标准协议”。我正在寻找可在 AMQP 供应商之间互操作的 JMS 客户端实现。具体来说,如果它可以与 RabbitMQ 或 Qpid 通信,那就太好了。

The JMS is the vendor neutral API to messaging in the Java space. AMQP's mission is "to become the standard protocol for interoperability between all messaging middleware". I'm looking for a JMS client implementation that is interoperable between AMQP vendors. Specifically, it would be nice if it could talk to either RabbitMQ or Qpid.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

迟到的我 2025-01-08 13:19:38

Qpid JMS 客户端(为了避免工作量,与 OpenAMQ JMS 客户端的代码相同)在 AMQP 0-9-1 中对 JMS 进行编码。我不能代表客户端的质量,但这应该适用于 Qpid Java 版本和 RabbitMQ。

然而,它不会是完全无损的编码——JMS 中的一些 API 不会传递到 AMQP。 Qpid 可能有适合这些的垫片;总的来说,RabbitMQ 没有。我特别想到“nolocal”和选择器。可能还有其他人。

(实际上它/某种/使用 AMQP 标头交换来执行选择器,但结果可能不是您所期望的 JMS)

有人正在努力创建一个使用 AMQP 1.0 的 JMS 客户端。但没有 Qpid 或 RabbitMQ 版本支持 AMQP 1.0,毕竟 AMQP 1.0 与 0-9-1 和其他早期版本完全不同。

The Qpid JMS client (which is, for the avoidance of effort, the same code as the OpenAMQ JMS client) encodes JMS in AMQP 0-9-1. I cannot speak for the quality of the client, but that should work for both Qpid Java edition and RabbitMQ.

It won't be an entirely lossless encoding, however -- there are some bits of API in JMS that don't carry across to AMQP. Qpid may have shims in place for those; RabbitMQ, by and large, doesn't. I am thinking specifically of 'nolocal' and selectors. There are probably others.

(Actually it /kind of/ does selectors using AMQP header exchanges, but the results may not be what you expect from JMS)

There is an effort to create a JMS client that uses AMQP 1.0. But there are no Qpid nor RabbitMQ releases that support AMQP 1.0, which is after all really an entirely different protocol to 0-9-1 and other prior versions.

_蜘蛛 2025-01-08 13:19:38

我最近将 Apache Qpid 客户端库 (qpid-client-0.32-bin.tar.gz) 与 RabbitMQ (AMQP 0-9-1) 一起使用,效果非常好。

如果您想连接到 AMQP 1.0 Broker,您应该使用这个 Qpid lib (apache-qpid-jms-0.1.0-bin.tar.gz)

这两个库都可以从这里下载:
http://qpid.apache.org/download.html

I have used Apache Qpid client library (qpid-client-0.32-bin.tar.gz) with RabbitMQ (AMQP 0-9-1) recently and It worked very well.

If you want to connect to AMQP 1.0 Broker you should use this Qpid lib (apache-qpid-jms-0.1.0-bin.tar.gz)

Both libs can be downloaded from here:
http://qpid.apache.org/download.html

我早已燃尽 2025-01-08 13:19:38

Qpid本身有一个JMS客户端。我从未使用过它,但它列在 AMQP 客户端 API

http://qpid.apache.org/

Qpid itself has a JMS client. I've never used it, but it is listed here under AMQP Client APIs

http://qpid.apache.org/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文