A content enricher, shown in Figure 49, is a pattern for augmenting a message with missing information. The ServiceMix EIP content enricher is roughly equivalent to a pipeline that adds missing data as the message passes through an enricher target. Consequently, when migrating to Apache Camel, you can re-implement the ServiceMix content enricher as a Apache Camel pipeline.
Example 17 shows how to
define a content enricher using the ServiceMix EIP component.
Incoming messages pass through the enricher target,
test:additionalInformationExtracter, which adds
missing data to the message. The message is then sent on to its
ultimate destination, test:myTarget.
Example 17. ServiceMix EIP Content Enricher
<eip:content-enricher service="test:contentEnricher" endpoint="endpoint">
<eip:enricherTarget>
<eip:exchange-target service="test:additionalInformationExtracter" />
</eip:enricherTarget>
<eip:target>
<eip:exchange-target service="test:myTarget" />
</eip:target>
</eip:content-enricher>Example 18 shows how to define an equivalent route using Apache Camel XML configuration.
Example 18. Apache Camel Content Enricher using XML Configuration
<route> <from uri="jbi:endpoint:http://progress.com/demos/test/contentEnricher/endpoint"/> <to uri="jbi:service:http://progress.com/demos/test/additionalInformationExtracter"/> <to uri="jbi:service:http://progress.com/demos/test/myTarget"/> </route>
Example 19 shows how to define an equivalent route using the Apache Camel Java DSL:
Example 19. Apache Camel Content Enricher using Java DSL
from("jbi:endpoint:http://progress.com/demos/test/contentEnricher/endpoint").
to("jbi:service:http://progress.com/demos/test/additionalInformationExtracter").
to("jbi:service:http://progress.com/demos/test/myTarget");








