Java Messaging:ActiveMQ,Mule,ServiceMix和Camel之间的区别

pea*_*kit 53 java messaging activemq-classic apache-camel apache-servicemix

我是新来的消息和想知道的区别ActiveMQ,Mule,ServiceMixCamel

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

提前致谢 !

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

duf*_*ymo 76

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

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

Apache Camel企业集成模式中模式的实现.它可以使用JMS和其他组件将该书中的想法付诸实施.

JMS是其他技术的基础,例如JDBC是Hibernate,iBatis等的基础.

JMS是Java API和规范以及TCK(Java EE的一部分).ActiveMQ是它的特定实现.

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

Camel不直接使用Mule或ServiceMix; 虽然ServiceMix使用Camel作为其首选路由引擎和EIP实现.Camel确实拥有大量不同的组件,但它们使用了各种不同的技术.


Hen*_*sek 54

JMS是Java消息传递协议规范.

ActiveMQ是上面的实现.

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

ServiceMix是一个与JBI(Java Business Integration)规范兼容的ESB实现.它还提供了许多Camel中不具备的基础结构功能(如服务OSGI捆绑支持).SM大量使用Camel.

Mule是ESB的另一个实现,但与Camel/ServiceMix系列无关.