LibraryToggle FramesPrintFeedback

Content Enricher

Overview

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.

Figure 49. Content Enricher Pattern

Content enricher pattern

Example ServiceMix EIP route

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>

Equivalent Apache Camel XML route

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>

Equivalent Apache Camel Java DSL 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");

Comments powered by Disqus