Skip to main content
These are the Enterprise Integration Patterns (EIPs) you reach for most often when building a connector. They come from Apache Camel’s standard DSL.

Content-based router (choice)

Routes the message to a different sub-route based on a predicate against the body or a header.
For body-driven routing, use the JSONPath filter form $[?(@.field)] so missing fields don’t throw:

Parallel fan-out and aggregation with multicast

Sends the same exchange to multiple routes in parallel, then combines the results with an aggregation strategy.
Register a custom thread pool when you parallelize:

Splitter for collection iteration

Processes every element of a collection independently, optionally in parallel.

Error recovery with doTry and doCatch

Use this for optional data extraction or any step that might throw but shouldn’t fail the whole route.

Dead letter channel

Catch-all error redelivery for the whole connector. Add this before any route definitions in configure().

Push and pop body

Use this when you need the body both as input to a transformation and as input to a later step. The pattern shows up often in multi-step REST flows.
Use Claim Check when you want to temporarily “park” a large or sensitive message (or part of it) while you do intermediate steps, then restore it later. Do not use with parallel work (for example, split().parallelProcessing(), multicast().parallelProcessing(), threads(), wireTap(), or async/SEDA).

Dynamic endpoint with toD

Routes to a dynamically computed endpoint, resolving the URL or route name at runtime.

Next step

To shape the data flowing through these EIPs, see Transform and validate data.