Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

How does Camel compare to Mule?

Tip

This FAQ entry was written when Mule 1.x and 2.x existed. It doesn't cater for how Mule may go in Mule 3.x.

I guess from 30,000 feet they're kinda similar beasts; they're both kinds of routing/mediation engines. The main differences are as follows

  • Camel uses a Java Domain Specific Language in addition to Spring XML for configuring the routing rules and providing Enterprise Integration Patterns
  • Camel's API is smaller & cleaner (IMHO) and is closely aligned with the APIs of JBI, CXF and JMS; based around message exchanges (with in and optional out messages) which more closely maps to REST, WS, WSDL & JBI than the UMO model Mule is based on
  • Camel allows the underlying transport details to be easily exposed (e.g. the JmsExchange, JbiExchange, HttpExchange objects expose all the underlying transport information & behaviour if its required). See How does the Camel API compare to
  • Camel supports an implicit Type Converter in the core API to make it simpler to connect components together requiring different types of payload & headers
  • Camel uses the Apache 2 License rather than Mule's more restrictive commercial license