Red Hat Training

A Red Hat training course is available for Red Hat Fuse

A.11. Wire Tap

Overview

The wire tap pattern, shown in Figure A.7, “Wire Tap Pattern”, 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 A.7. Wire Tap Pattern

Wire tap pattern

Example ServiceMix EIP route

Example A.22, “ServiceMix EIP Wire Tap” 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 A.22. 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 A.23, “Apache Camel Wire Tap Using XML” shows how to define an equivalent route using Apache Camel XML configuration.

Example A.23. 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 A.24, “Apache Camel Wire Tap Using Java DSL” shows how to define an equivalent route using the Apache Camel Java DSL.

Example A.24. 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");