Content enrichment using a Message Translator or a Processor - 6.3

Talend ESB Mediation Developer Guide

EnrichVersion
6.3
EnrichProdName
Talend Data Fabric
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Open Studio for ESB
Talend Real-Time Big Data Platform
task
Design and Development
EnrichPlatform
Talend ESB

Using the Fluent Builders

You can use Templating to consume a message from one destination, transform it with something like Camel Component: Velocity or XQuery, and then send it on to another destination. For example using InOnly (one way messaging)

from("activemq:My.Queue").
  to("velocity:com/acme/MyResponse.vm").
  to("activemq:Another.Queue");

If you want to use InOut (request-reply) semantics to process requests on the My.Queue queue on Camel Component: ActiveMQ with a template generated response, then sending responses back to the JMSReplyTo Destination you could use this:

from("activemq:My.Queue").
  to("velocity:com/acme/MyResponse.vm");

We can also use Bean Integration to use any Java method on any bean to act as the transformer

from("activemq:My.Queue").
  beanRef("myBeanName", "myMethodName").
  to("activemq:Another.Queue");

For further examples of this pattern in use you could look at one of the JUnit tests

Using Spring XML

<route>
  <from uri="activemq:Input"/>
  <bean ref="myBeanName" method="doTransform"/>
  <to uri="activemq:Output"/>
</route>