Content-Based Router
Route by message content. Where most integrations start.
- Format.puml
- Length26 lines
- LibraryEnterprise Integration Patterns
The source
26 lines of PlantUML, and pulls in Enterprise Integration Patterns. Copy it, or open the template inside Gnomon and render it as it is.
@startuml
!include https://raw.githubusercontent.com/plantuml-stdlib/EIP-PlantUML/main/dist/EIP-PlantUML.puml
title Content-Based Routing
MsgChannel(input, "Incoming Orders")
ContentBasedRouter(router, "Order Router")
MsgChannel(domestic, "Domestic Orders")
MsgChannel(international, "International Orders")
MsgChannel(priority, "Priority Orders")
ServiceActivator(domesticSvc, "Domestic\nFulfillment")
ServiceActivator(intlSvc, "International\nFulfillment")
ServiceActivator(prioritySvc, "Priority\nFulfillment")
Send(input, router)
router --> domestic : country = US
router --> international : country != US
router --> priority : priority = HIGH
Send(domestic, domesticSvc)
Send(international, intlSvc)
Send(priority, prioritySvc)
@endumlRender this offline
This template ships in Gnomon and renders on your machine, with no account and nothing sent to a server. The browser editor is free and needs no install.
Others in Enterprise integration pattern diagrams
- Simple MessagingA channel and two endpoints: the vocabulary in miniature.
- Publish-SubscribeOne publisher, many independent subscribers.
- Splitter-AggregatorSplit a message, process the parts, put them back together.
- Pipes and FiltersA processing chain where each stage is replaceable.
- Request-ReplyAsync messaging that still needs an answer.
- Error HandlingWhat happens when a message cannot be processed. Draw this one.
- Wire Tap (Monitoring)Observe traffic without changing it: for audit and monitoring.