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

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (31)

我是新来的消息和想知道的区别ActiveMQMuleServiceMixCamel

任何人都知道这些产品各有不同吗?

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

提问于
用户回答回答于

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实施。骆驼确实有很多不同的组件尽管它们使用各种不同的技术。

用户回答回答于

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

ActiveMQ是上述的一个实现。

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

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

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

扫码关注云+社区