Java Messaging : Difference between ActiveMQ, Mule, ServiceMix and Camel

前端 未结 6 1886
春和景丽
春和景丽 2020-12-22 19:28

I am new to Messaging and want to know the difference between ActiveMQ, Mule, ServiceMix and Camel

Anyone knows h

6条回答
  •  天涯浪人
    2020-12-22 19:56

    ActiveMQ is a message broker which implements the JMS API and supports a number of cross language clients and network protocols. It lets you implement queues or topics and write listeners or subscribers to respond to queue events.

    Mule and ServiceMix are open source ESB (enterprise service bus). An ESB has capabilities beyond JMS: queuing is key, but so are transformation, routing, logging, security, etc.

    Apache Camel is an implementation of the patterns in Enterprise Integration Patterns. It can use JMS and other components to put the ideas from that book into place.

    JMS is fundamental to the other technologies, like JDBC is the foundation for Hibernate, iBatis, etc.

    JMS is a Java API and a specification and TCK (part of Java EE). ActiveMQ is a particular implementation of it.

    Camel can use ActiveMQ (and Camel is bundled inside the ActiveMQ broker so you can easily route to and from JMS to the other components Camel supports).

    Camel doesn't use Mule or ServiceMix directly; though ServiceMix uses Camel as its preferred routing engine and EIP implementation. Camel does have a ton of different components though that use various different technologies.

提交回复
热议问题