Versions Compared

Key

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

...

So lets start with the route definition in EtlRoutes

Wiki Markup
{snippet:id=example|lang=java|url=activemq/camel/trunk/examples/camel-example-etl/src/main/java/org/apache/camel/example/etl/EtlRoutes.java}

The above sets up a route from the src/data directory. Notice we're using the noop mode of the File component so that the files are not moved or deleted when they are processed (so when the tool is restarted they will be processed again).

We're converting the body of the message to a PersonDocument which since this POJO as an @XmlRootElement annotation from JAXB will kick in the Type Converter to use JAXB to unmarshall the object.

Then we send the message with a PersonDocument body to the JPA endpoint. Notice how this endpoint specifies the expected type. So the Type Converter is gonna try convert the PersonDocument to a CustomerEntity. Here Camel will find the CustomerTransformer class which has an @Converter method

Wiki Markup
{snippet:id=example|lang=java|url=activemq/camel/trunk/examples/camel-example-etl/src/main/java/org/apache/camel/example/etl/CustomerTransformer.java}

which performs the necessary conversion to an entity bean which is then stored in the database

Running the example

To run the example we use the Camel Maven Plugin. For example from the source or binary distribution the following should work

...