Java 您使用哪种 JMS 实现?
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/123817/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Which JMS implementation do you use?
提问by Jay R.
We are using ActiveMQ 5.2as our implementation of choice and we picked it a while ago. It performs well enough for our use right now. Since its been a while, I was wondering what other Java Message Service implementations are in use and why? Surely there are more than a few.
我们使用ActiveMQ 5.2作为我们的选择实现,我们不久前选择了它。它的性能足够我们现在使用。一段时间以来,我想知道还有哪些其他 Java 消息服务实现正在使用中,为什么?肯定不止几个。
回答by Sergio Acosta
In one of the recent projects I was in we used Sonic MQ. Good overall implementation with good bindings to .NET.
在我最近参与的一个项目中,我们使用了Sonic MQ。良好的整体实现,与 .NET 的良好绑定。
We had a little of scalability problems, but I have to admit that the scalability requirements were very strict: if I can recall correctly, something like 20,000 messes a second with no delays allowed between the 200 different clients (every client had to receive every message at the same time).
我们有一点可扩展性问题,但我不得不承认可扩展性要求非常严格:如果我没记错的话,大约每秒 20,000 次混乱,200 个不同客户端之间不允许延迟(每个客户端必须接收每条消息同时)。
回答by skaffman
I've used JBossMQ, which comes with JBoss app server up to version 4, and which is solid but limited. JBoss Messaging was the replacement, comes with JBossAS 5, and is a huge improvement.
我使用过 JBossMQ,它随 JBoss 应用服务器一起提供,最高版本为 4,它可靠但有限。JBoss Messaging 是替代品,随 JBossAS 5 一起提供,是一个巨大的改进。
ActiveMQ I have a real dislike for. The developer(s) seem to have gone for performance and features to the detriment of stability, and it's phenomenally buggy. Given that it's the JMS fabric for Geronimo, I worry.
我非常不喜欢 ActiveMQ。开发人员似乎已经在损害稳定性的情况下追求性能和功能,而且它的问题非常多。鉴于它是 Geronimo 的 JMS 结构,我很担心。
回答by larsivi
We rely on AMQ (5.1) via the Camel framework, and there haven't been any issues. AMQ 4 was a tad more fishy.
我们通过 Camel 框架依赖 AMQ (5.1),并且没有任何问题。AMQ 4 有点可疑。
回答by John Meagher
回答by anjanb
Sun's Open source OpenMQ (https://mq.dev.java.net/). You can get free and paid support for the same.
Sun 的开源 OpenMQ ( https://mq.dev.java.net/)。您可以获得相同的免费和付费支持。
See this blog post about some comparison with ActiveMQ, etc -- http://alexismp.wordpress.com/2008/06/06/openmq-the-untold-story/.
请参阅此博客文章,了解与 ActiveMQ 等的一些比较——http: //alexismp.wordpress.com/2008/06/06/openmq-the-untold-story/。
I've heard that OpenMQ is more stable.
我听说 OpenMQ 更稳定。
ActiveMQ is more flexible. as in, you can use it with more languages. There are probably more people on ActiveMQ's mailing list than OpenMQ.
ActiveMQ 更加灵活。就像在,您可以将它用于更多语言。ActiveMQ 的邮件列表上的人可能比 OpenMQ 多。
回答by Autobyte
IBM WebSphere MQ 5 and 6 Active MQ 5.2.0
IBM WebSphere MQ 5 和 6 活动 MQ 5.2.0
Also Check out Micro QueueManager at http://codingjunky.com/page5/page4/page4.htmlIt is small, easy to install and use for smaller projects.
还可以在http://codingjunky.com/page5/page4/page4.html查看 Micro QueueManager 它体积小,易于安装和用于较小的项目。
回答by Pascal Thivent
WebLogic JMS provider when using WebLogic. Works great.
使用 WebLogic 时的 WebLogic JMS 提供程序。效果很好。
回答by roundrobin
We are using SonicMQ, JBossMQ and the "micro broker" of Lotus Expeditor Integrator. We are using them for different purposes:
我们正在使用 SonicMQ、JBossMQ 和 Lotus Expeditor Integrator 的“微代理”。我们将它们用于不同的目的:
-JBossMQ is used internally and to communicate out of all our Java EE applications which run on JBoss. -Lotus Expeditor is used in "remote sites" where we do only have limited resources and IT staff -SonicMQ is our Messaging backbone, we use it for connecting central systems, but also to connect remote systems in approx. 1000 sites.
-JBossMQ 在内部使用,并与我们在 JBoss 上运行的所有 Java EE 应用程序进行通信。-Lotus Expeditor 用于我们资源和 IT 人员有限的“远程站点” -SonicMQ 是我们的 Messaging 主干,我们用它来连接中央系统,但也用于连接远程系统。1000 个站点。
We are having good experiences with all of them, but our experience is also that with a more complex environment you have to do a more active administration of the Messaging system. This became especially true with SonicMQ at our site :-) . From a performance perspective we made the best experiences with SonicMQ especially in Queue based persistent messaging.
我们在所有这些方面都有很好的经验,但我们的经验还在于,在更复杂的环境中,您必须对消息系统进行更积极的管理。在我们的站点上使用 SonicMQ 时尤其如此:-)。从性能角度来看,我们使用 SonicMQ 获得了最佳体验,尤其是在基于队列的持久消息传递方面。
回答by Felipe Oliveira
I have used ActiveMQ in production for a couple of years but I was never happy about its stability (specially with it clustered-enabled). Never looked back after switching to OpenMQ. You might want to look into RabbitMQ or ZeroMQ.
我已经在生产中使用 ActiveMQ 几年了,但我从来没有对它的稳定性感到满意(特别是它启用了集群)。切换到 OpenMQ 后再也没有回头。您可能想查看 RabbitMQ 或 ZeroMQ。
回答by Axel Podehl
Before delving into JMS, consider AMQP as well - might be a new standard. JMS providers I worked with (in varying degrees):
在深入研究 JMS 之前,还要考虑 AMQP - 可能是一个新标准。我使用过的 JMS 提供程序(在不同程度上):
TIBCO EMS - very quick and robust, good API support, Java friendly, native C API exists. Best commercial choice I've used.
TIBCO EMS - 非常快速和健壮,良好的 API 支持,Java 友好,本机 C API 存在。我用过的最佳商业选择。
Websphere MQ (and its JMS implementation) - so, so. Pub/sub not exactly quick, many configurations options and choices are 'strange' and overly complex from the long history of that product. Just look at the amount of documentation...
Websphere MQ(及其 JMS 实现)——如此,如此。发布/订阅并不完全快速,许多配置选项和选择从该产品的悠久历史来看是“奇怪的”和过于复杂的。看看文档的数量...
Solace JMS - very high throughput (the JMS broker is built in hardware !), good choices of connecting protocols (MQTT, AMQP, XML over http as admin protocols)
Solace JMS - 非常高的吞吐量(JMS 代理内置于硬件中!),连接协议的良好选择(MQTT、AMQP、XML over http 作为管理协议)
Fiorano MQ - used to be agressive in marketing but lost a lot of market share, maturity concerns
Fiorano MQ - 曾经在营销方面咄咄逼人,但失去了很多市场份额,成熟度问题
Sonic MQ - solid product, also supports a C API
Sonic MQ - 可靠的产品,也支持 C API
Active MQ - if you want to go with an open-source product (unexpensive support, great community, limited add-on products, limited enterprise features) this is probably your best choice. Works out of the box and is the backbone of several tools like Apache Camel, for example.
Active MQ - 如果您想使用开源产品(便宜的支持、强大的社区、有限的附加产品、有限的企业功能),这可能是您的最佳选择。开箱即用,是多种工具(例如 Apache Camel)的支柱。