| Detour |
Pattern Catalog | ||
| Site Home Patterns Home Table of Contents |
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: Gregor Hohpe and Bobby Woolf ISBN 0321200683 650 pages Addison-Wesley |
| Parts of this page are available under the 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 by copyright. |
| Home Patterns Table of Contents |
| © 2003 Bobby Woolf All rights reserved. |