LibraryToggle FramesPrintFeedback

Wire Tap

Overview

The wire tap pattern, shown in Figure 54, allows you to route messages to a separate tap location before it is forwarded to the ultimate destination. The ServiceMix EIP wire tap pattern maps to the wire tap pattern in Apache Camel.

Figure 54. Wire Tap Pattern

Wire tap pattern

Example ServiceMix EIP route

Example 35 shows how to define a wire tap using the ServiceMix EIP component. The In message from the source endpoint is copied to the In-listener endpoint, before being forwarded on to the target endpoint. If you want to monitor any returned Out messages or Fault messages from the target endpoint, you also must define an Out listener (using the eip:outListner element) and a Fault listener (using the eip:faultListener element).

Example 35. ServiceMix EIP Wire Tap

<eip:wire-tap service="test:wireTap" endpoint="endpoint">
  <eip:target>
    <eip:exchange-target service="test:target" />
  </eip:target>
  <eip:inListener>
    <eip:exchange-target service="test:trace1" />
  </eip:inListener>
</eip:wire-tap>

Equivalent Apache Camel XML route

Example 36 shows how to define an equivalent route using Apache Camel XML configuration.

Example 36. Apache Camel Wire Tap Using XML

<route>
  <from uri="jbi:endpoint:http://progress.com/demos/test/wireTap/endpoint"/>
  <to uri="jbi:service:http://progress.com/demos/test/trace1"/>
  <to uri="jbi:service:http://progress.com/demos/test/target"/>
</route>

Equivalent Apache Camel Java DSL route

Example 37 shows how to define an equivalent route using the Apache Camel Java DSL.

Example 37. Apache Camel Wire Tap Using Java DSL

from("jbi:endpoint:http://progress.com/demos/test/wireTap/endpoint")
  .to("jbi:service:http://progress.com/demos/test/trace1",
      "jbi:service:http://progress.com/demos/test/target");

Comments powered by Disqus