Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

JiBX is a Data Format which uses the JiBX library to marshal and unmarshal Java objects to and from XML.

Code Block
xmlxml
// lets turn Object messages into XML then send to MQSeries
from("activemq:My.Queue").
  marshal().jibx().
  to("mqseries:Another.Queue");
{code:xml}

h3. JiBX Spring DSL

JiBX data format is also supported by Camel Spring DSL.

...

Please note that marshaling process can recognize the message type at the runtime. However while unmarshaling message from XML we need to specify target class explicitly.

Code Block

// lets turn Object messages into XML then send to MQSeries
from("mqseries:Another.Queue").
  unmarshal().jibx(PurchaseOrder.class).
  to("activemq:My.Queue");

JiBX Spring DSL

JiBX data format is also supported by Camel Spring DSL.

Code Block
xml
xml

<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">

...



  <!-- Define data formats -->
  <dataFormats>
    <jibx id="jibx" unmarshallClass="org.apache.camel.dataformat.jibx.PurchaseOrder"/>

...


  </dataFormats>

...



  <!-- marshal message to XML -->
  <route>
    <from uri="direct:

...

marshal"/>

...


    <marshal ref="jibx"/>

...


    <to uri="mock:result"/>

...


  </route>

...



  <!-- unmarshal message from XML -->
  <route>
    <from uri="direct:

...

unmarshal"/>

...


    <unmarshal ref="jibx"/>

...


    <to uri="mock:result"/>

...


  </route>

...



</camelContext>
Code Block


h3. Dependencies

To use JiBX in your camel routes you need to add the a dependency on *camel-jibx* which implements this data format. 

If you use maven you could just add the following to your pom.xml, substituting the version number for the latest & greatest release (see [the download page for the latest versions|Download]).

...

Dependencies

To use JiBX in your camel routes you need to add the a dependency on camel-jibx which implements this data format.

If you use maven you could just add the following to your pom.xml, substituting the version number for the latest & greatest release (see the download page for the latest versions).

Code Block

<dependency>
  <groupId>org.apache.camel</groupId>

...


  <artifactId>camel-jibx</artifactId>

...


  <version>2.6.0</version>

...


</dependency>

...

code