ActiveMQ vs JMS

时间:2015-09-05 22:19:03

标签: spring jms activemq spring-jms

我想了解JMS。

ActiveMQ和JMS之间有什么区别

可以在Spring中使用ActiveMQ插件汇集来自NON ActiveMQ的数据吗?

先谢谢

2 个答案:

答案 0 :(得分:11)

JMS是一个规范。 JMS有三个主要部分。第一个是生成器,它只不过是一个向“JMS 代理(#2)提交”消息“的bean(管理之间的消息的系统) >生产者消费者)。在这种情况下,ActiveMQ是经纪人。代理收到消息后,消费者(#3)或消息驱动Bean(MDB)将处理该消息。

如果您想使用JMS,您只需使用JMS API编写生产者/消费者代码,但在幕后有一个“资源适配器”,它是一个特殊的ActiveMQ驱动程序,将连接到ActiveMQ实例并为您做管理。

看看this post I made recently。我仍在试图找出编写JMS bean的最佳方法,但我已经掌握了基础知识。

答案 1 :(得分:0)

公认的答案强调JMS的结构是什么。不不同意只是想添加到其他人想知道的地方。 ActiveMQ 可以是 JMS 供应商。 JMS 供应商制定了计算机程序系统,以鼓励在应用程序内部使用JMS概念。 ActiveMQ的一个允许客户端与其关联并利用这些通知概念的单个节点称为“ ActiveMQ代理”。 企业在诸如合并和收购等商业行为中感觉到这种差距。这就需要维护越来越多样化的业务应用程序集合。随着企业的发展,允许所有这些平台共享数据的需求也在增加。今天,存在许多有助于解决此问题的架构模式。

JMS提供程序的其他一些示例是:

  • HornetQ。
  • RabbitMQ。
  • SonicMQ。
  • Winsows Azure消息传递

以下示例显示了ActiveMQ连接的简单配置:

<jms:config name="JMS_Config">
 <jms:active-mq-connection >
  <jms:factory-configuration brokerUrl="tcp://localhost:61616" />
 </jms:active-mq-connection>
</jms:config>

这篇文章解释了ActiveMQ and JMS之间的详细区别(或者可能是关于其规范的细节)。希望它能清除您的概念。