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

我是Messaging的新手,想知道ActiveMQMuleServiceMixCamel之间的区别

任何人都知道这些产品是如何不同的?

提前致谢 !

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

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

Mule和ServiceMix是开源的ESB(企业服务总线)。 ESB具有超越JMS的function:排队是关键,但转换,路由,日志logging,安全性等也是关键。

Apache Camel是企业集成模式中模式的实现 。 它可以使用JMS和其他组件将这本书的想法放到位。

JMS是其他技术的基础,比如JDBC是Hibernate,iBatis等的基础。

JMS是一个Java API和一个规范和TCK(Java EE的一部分)。 ActiveMQ是它的一个特殊的实现。

Camel可以使用ActiveMQ(并且Camel捆绑在ActiveMQ代理中,因此您可以轻松地将JMS路由到Camel支持的其他组件)。

骆驼不直接使用Mule或ServiceMix; 尽pipeServiceMix使用Camel作为其首选路由引擎和EIP实现。 虽然使用了各种不同的技术,骆驼确实有很多不同的组件 。

JMS是一个Java消息传递协议规范。

ActiveMQ是以上的一个实现。

骆驼是一个实现企业集成模式的消息路由引擎。 它提供了很多预定义的组件。 它的关键组件之一支持JMS。

ServiceMix是与JBI(Java业务集成)规范兼容的ESB实现。 它还提供许多在骆驼中不可用的基础特性(如服务OSGI捆绑支持)。 SM大量使用骆驼。

Mule是ESB的另一个实现,但与Camel / ServiceMix家族无关。

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

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

Apache ActiveMQ:它是一个实现JMS的Message Broker。

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

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

活动MQ与JMS API的其他实现一样好

mule也是一个ESB

Mule是提供端到端集成解决scheme的企业服务总线。

ActiveMQ是在订户和接收者之间排队消息的消息代理。

ServiceMix也是一个ESB,即企业服务总线

骆驼授权您定义各种领域特定语言的路由和中介规则。 mule子和SeriviceMix是ESB。 ActiveMQ是消息服务。