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 ServiceMix EIP

ServiceMix EIP was the ancestor though they both do similar things.

The main difference with ServiceMix EIP is its integrated into the existing ServiceMix XBean XML configuration whereas Camel has more Enterprise Integraiton Integration Patterns and can be used outside of JBI (e.g. just with pure JMS or MINA). Also Camel supports a Java DSL or XML configuration.

Converting from ServiceMix EIP to Camel

Here's an example of a servicemix-eip route

Code Block

<eip:message-filter service="test:messageFilter" endpoint="endpoint">
  <eip:target>
    <eip:exchange-target service="test:trace3" />
  </eip:target>
  <eip:filter>
    <eip:xpath-predicate xpath="count(/test:world) = 1" namespaceContext="#nsContext"/>
  </eip:filter>
</eip:message-filter>

Here's the equivalent Camel code in XML

Code Block

<route>
  <from uri="jbi:endpoint:test:messageFilter:endpoint">
  <filter>
   <xpath>count(/test:world) = 1</xpath>
   <to uri="jbi:service:test:trace3"/>
  </filter>
</route>

Or Java

Code Block

from("jbi:endpoint:test:messageFilter:endpoint").
  filter(ns.xpath("count(/test:world) = 1")).
  to("jbi:service:test:trace3");

See Also