A Wire Tap is useful to inspect messages that travel across a channel. Sometimes, though, we need to modify or reroute the messages instead of simply inspecting them.
How can you route a message through intermediate steps to perform validation, testing or debugging functions?
Construct a Detour with a context-based router controlled via the Control Bus. In one state the router routes incoming messages through additional steps while in the other it routes messages directly to the destination channel.
The Detour uses a simple context-based router with two output channels. One output channel passes the unmodified message to the original destination. When instructed by the Control Bus, the Detour routes messages to a different channel. This channel sends the message to additional components that can inspect and/or modify the message. Ultimately, these components route the message to the same destination....
Related patterns: Control Bus, Publish-Subscribe Channel, Wire Tap
Find the full description of this pattern in:|
Enterprise Integration Patterns
Gregor Hohpe and Bobby Woolf
Parts of this page are available under
the Creative Commons Attribution license.
You can reuse the pattern icon, the pattern name, the problem and solution statements (in bold), and the sketch
under this license. Other portions of the text, such as text chapters or the full pattern text, are protected