Java消息传递:ActiveMQ、Mule、ServiceMix和Camel之间的区别

Java消息传递:ActiveMQ、Mule、ServiceMix和Camel之间的区别,java,apache-camel,activemq,messaging,apache-servicemix,Java,Apache Camel,Activemq,Messaging,Apache Servicemix,我不熟悉消息传递,想知道ActiveMQ、Mule、ServiceMix和Camel 有人知道这些产品的不同之处吗 提前谢谢 编辑:还想知道学习这些东西的好地方/资源。ActiveMQ是一个消息代理,它实现了JMS API并支持。它允许您实现队列或主题,并编写侦听器或订阅者来响应队列事件 Mule和ServiceMix是开源ESB(企业服务总线)。ESB具有JMS之外的功能:队列是关键,但转换、路由、日志记录、安全性等也是关键 是中模式的实现。它可以使用JMS和其他工具将该书中的思想付诸实施 是

我不熟悉消息传递,想知道
ActiveMQ
Mule
ServiceMix
Camel

有人知道这些产品的不同之处吗

提前谢谢


编辑:还想知道学习这些东西的好地方/资源。

ActiveMQ是一个消息代理,它实现了JMS API并支持。它允许您实现队列或主题,并编写侦听器或订阅者来响应队列事件

Mule和ServiceMix是开源ESB(企业服务总线)。ESB具有JMS之外的功能:队列是关键,但转换、路由、日志记录、安全性等也是关键

是中模式的实现。它可以使用JMS和其他工具将该书中的思想付诸实施

是其他技术的基础,JDBC是Hibernate、iBATIS等的基础。 JMS是一个javaapi、一个规范和TCK(javaee的一部分)。ActiveMQ是它的一个特殊实现

Camel可以使用ActiveMQ(Camel捆绑在ActiveMQ代理中,因此您可以轻松地在JMS和Camel支持的其他组件之间进行路由)

Camel不直接使用Mule或ServiceMix;尽管ServiceMix使用驼峰作为首选路由引擎和EIP实现。Camel确实有一个使用各种不同技术的想法。

首先让我们定义

JMS是一种JavaMessagingS服务协议规范。
ESBE企业S服务B美国。
JBIJavaB业务I集成

现在我们可以详细回答:

apacheactivemq是上述JMSJavaMessagingS服务)的实现

Apache Camel是一个实现企业集成模式的消息路由引擎。
它提供了许多预定义的组件。
它的一个关键组件支持JMSJavaMessagingS服务)

ApacheServiceMix是上述ESBEEnterpriseSServiceBus)的实现
与JBI(JavaB业务I集成)规范兼容。
它还提供了许多在Camel中不可用的基础设施功能(如服务OSGI捆绑包支持)。
SM大量使用骆驼


MuleESBEEnterpriseSServiceBus)的另一个实现,但与Camel/ServiceMix系列无关。

Apache Service Mix::它是一个ESB(企业服务总线)、一个JBI容器和一个集成平台

ApacheCamel:实现EIP(企业集成模式)的智能路由和中介引擎


Apache ActiveMQ:它是一个实现JMS的消息代理。

Apache Camel是EIP(企业集成模式)的实现

ServiceMix是在SOA环境中符合ESB原则的产品

activemq与jmsapi的任何其他实现一样好


Mule也是一种ESB

Mule是一种提供端到端集成解决方案的企业服务总线

ActiveMQ是消息代理,用于在订阅者和接收者之间对消息进行排队


ServiceMix也是一种ESB,即企业服务总线(EnterpriseServiceBus)

Camel使您能够用各种特定于域的语言定义路由和中介规则。 Mule和SeriviceMix是ESB。
ActiveMQ是消息传递服务。

Apache Camel是否使用ActiveMQ、Mule和ServiceMix来实现这些模式?还是使用原始JMS?Camel可以支持任何JMS提供者;它的语法中有使用ActiveMQ的快捷方式,但也可以使用任何其他JMS队列。