ActiveMQ与JMS的区别

16

我正在尝试理解 JMS。

ActiveMQ 和 JMS 之间有什么区别?

可以使用 Spring 中的 ActiveMQ 插件从非 ActiveMQ 池中汇集数据吗?

谢谢,提前致谢。


你能解决你的问题吗? - John Manko
1
呀...我接受了你的回答,谢谢。 - StudentJava
2个回答

23

JMS是一个规范,它由三个主要部分组成。第一个部分是生产者,它只是一个向JMS代理(#2)(负责在生产者消费者之间管理消息的系统)提交"消息"的bean。在本例中,ActiveMQ是代理。一旦代理收到消息,消费者(#3)或Message-Driven Bean(MDB)处理消息。

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

请参阅我最近发布的这篇帖子。我仍在努力找出编写JMS bean的最佳方法,但我已经掌握了基础知识。


2
接受的答案强调了JMS的结构是什么。不反对,只是想添加一些信息以便其他人了解。ActiveMQ可以作为JMS供应商。JMS供应商形成计算机程序系统,以促进应用程序内部使用JMS概念。 ActiveMQ中的单个节点允许客户端连接并使用这些消息传递概念,称为“ActiveMQ代理”。企业在业务行动(如合并和收购)中感到这种差异。这创造了维护越来越异构的业务应用程序集合的需要。随着企业的发展,需要允许所有这些平台共享数据。今天存在许多架构模式可帮助解决此问题。
一些其他JMS提供商的例子包括:
- HornetQ - RabbitMQ - SonicMQ - Winsows Azure Messaging
以下示例显示了ActiveMQ连接的简单配置:
<jms:config name="JMS_Config">
 <jms:active-mq-connection >
  <jms:factory-configuration brokerUrl="tcp://localhost:61616" />
 </jms:active-mq-connection>
</jms:config>

本文详细解释了ActiveMQ和JMS之间的区别(或者关于它们规范的详细信息)。希望能够清晰地解决您的疑惑。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接