你使用哪个JMS实现?

我们使用ActiveMQ 5.2作为我们的select的实现,我们select了一段时间。 它的performance足够好,现在我们的使用。 自从有一段时间以来,我想知道还有哪些Java消息服务实现正在使用,为什么? 当然有不止几个。

在深入研究JMS之前,考虑AMQP也许是一个新的标准。 我与之合作的JMS提供者(在不同程度上):

TIBCO EMS – 非常快速和健壮,良好的API支持,Java友好,本地C API存在。 我用过的最好的商业select。

Websphere MQ(及其JMS实现) – 所以。 Pub / sub不是很快,许多configuration选项和select是从产品的悠久历史“奇怪”和过于复杂。 只要看看文件的数量…

Solace JMS – 吞吐量非常高(JMS代理以硬件为基础!),连接协议(MQTT,AMQP,通过http作为pipe理协议的XML)

Fiorano MQ – 曾经在市场营销方面做出了很大的努力,但却失去了很多市场份额,成熟度方面的担忧

Sonic MQ – 固体产品,也支持C API

主动MQ – 如果您想要使用开源产品(低廉的支持,优秀的社区,有限的附加产品,有限的企业function),这可能是您的最佳select。 例如,开箱即用,并且是Apache Camel等几个工具的主干。

我们依靠AMQ(5.1)通过Camel框架,并没有任何问题。 AMQ 4有点腥。

使用WebLogic时的WebLogic JMS提供程序。 很好用。

TIBCO EMS 。 这是一个带有Java / JMS,C,.net和其他绑定的商业消息服务。

Sun的开源OpenMQ( https://mq.dev.java.net/ )。 你可以得到免费和付费的支持。

有关与ActiveMQ等的比较,请参阅此博客文章 – http://alexismp.wordpress.com/2008/06/06/openmq-the-untold-story/

我听说OpenMQ更稳定。

ActiveMQ更加灵活。 如在,你可以使用更多的语言。 ActiveMQ的邮件列表上可能比OpenMQ更多。

在我最近的一个项目中,我们使用了Sonic MQ 。 良好的整体实施与良好的绑定到.NET。

我们有一些可扩展性问题,但是我不得不承认,可扩展性要求是非常严格的:如果我能够正确回忆起来,在200个不同的客户端之间没有延迟的情况下,每秒20000次的麻烦(每个客户端都必须接收每条消息与此同时)。

我已经使用了JBossMQ,JBoss应用服务器自带的版本到4,而且是稳定的,但是有限的。 JBoss Messaging是JBossAS 5的替代品,是一个巨大的改进。

ActiveMQ我有一个真正的不喜欢。 开发人员似乎已经失去了性能和function,损害了稳定性,而且这是非常奇怪的。 鉴于这是Geronimo的JMS结构,我担心。

IBM WebSphere MQ 5和6 Active MQ 5.2.0

另请查看Micro QueueManager http://codingjunky.com/page5/page4/page4.html它小巧易于安装,适用于较小的项目。;

我已经在生产中使用了ActiveMQ几年了,但是我从来没有对它的稳定性感到满意(尤其是启用了集群)。 切换到OpenMQ后从未回头。 你可能想看看RabbitMQ或ZeroMQ。

我们使用SonicMQ,JBossMQ和Lotus Expeditor Integrator的“微代理”。 我们正在将它们用于不同的目的:

-JBossMQ在内部使用,并在我们运行在JBoss上的所有Java EE应用程序之间进行通信。 -Lotus Expeditor被用于“远程站点”,我们只有有限的资源和IT人员-SonicMQ是我们的消息传输骨干网,我们用它来连接中央系统,而且还可以连接远程系统。 1000个网站。

我们对所有人都有很好的经验,但是我们的经验是,在一个更复杂的环境中,您必须对消息传递系统进行更积极的pipe理。 SonicMQ在我们的网站上尤其如此:-)。 从性能angular度来看,我们在SonicMQ方面取得了最好的体验,特别是在基于队列的持久消息传递方面。