Enterprise Integration Patterns (EIPs)
EIPs are design patterns used to integrate different systems through various messaging and routing techniques. Apache Camel implements a wide range of EIPs to facilitate the development of complex integration routes.
Here are the EIPs you can use in Sensedia Integrations:
EIP | Description |
---|---|
Aggregate |
Combines multiple messages into a single message. |
Choice |
Routes messages based on conditions, similar to an if-else structure. |
Circuit Breaker |
Prevents a system from performing operations that are likely to fail. |
Claim Check |
Stores and retrieves messages from an external storage. |
Convert Body To |
Changes the message body to a different format. |
Delay |
Introduces a delay before passing the message to the next step. |
Do Catch |
Handles exceptions during message processing. |
Do Try |
Attempts to execute a block of code, handling exceptions if they occur. |
Do Finally |
Executes a block of code after a try-catch block, regardless of the outcome. |
Dynamic Router |
Directs messages to different destinations based on dynamic conditions. |
Enrich |
Adds additional data to a message. |
Filter |
Removes messages that do not meet certain criteria. |
From |
Specifies the source from which messages are received. |
Idempotent Consumer |
Ensures that messages are processed only once. |
Intercept |
Intercepts and processes messages at specific points in the route. |
Intercept From |
Intercepts messages from a specific source. |
Intercept Send To Endpoint |
Intercepts messages sent to a specific endpoint. |
Log |
Logs messages for monitoring and debugging purposes. |
Loop |
Repeats message processing a specified number of times. |
Marshal |
Converts a message to a specific data format. |
Multicast |
Sends a message to multiple destinations. |
On Exception |
Handles exceptions for specific error conditions. |
Otherwise |
Specifies the default action when no other conditions are met. |
Pipeline |
Processes messages through a series of steps. |
Policy |
Applies specific rules or policies to message processing. |
Poll Enrich |
Retrieves additional data from a source and adds it to a message. |
Process |
Adds custom logic within an integration flow, such as attaching or detaching files when sending emails or uploading files to a URL using multipart/form-data. Examples:
In the |
Recipient List |
Sends a message to a list of recipients. |
Remove Header |
Removes a specific header from a message. |
Remove Headers |
Removes multiple headers from a message. |
Remove Property |
Removes a specific property from a message. |
Remove Properties |
Removes multiple properties from a message. |
Resequence |
Reorders messages based on specific criteria. |
REST DSL |
Defines RESTful services using a domain-specific language. |
Rollback |
Reverts changes if an error occurs during processing. |
Routing Slip |
Routes messages through a sequence of destinations. |
Saga |
Manages long-running transactions with compensation. |
Sample |
Selects a subset of messages based on sampling criteria. |
Script |
Executes scripts for message processing. |
Service Call |
Invokes external services. |
Set Body |
Sets or modifies the message body. |
Set Exchange Pattern |
Changes the message exchange pattern (e.g., from InOnly to InOut). |
Set Header |
Sets or modifies a message header. |
Set Property |
Sets or modifies a message property. |
Sort |
Orders messages based on specific criteria. |
Split |
Splits a message into multiple smaller messages. |
Step |
Marks a step in the route for monitoring and tracing. |
Stop |
Stops message processing. |
Throttle |
Limits the rate at which messages are processed. |
To |
Sends a message to a specified endpoint. |
To Dynamic |
Dynamically determines the endpoint to which a message is sent. |
Transacted |
Ensures message processing is transactional. |
Transform |
Changes the message content or format. |
Unmarshal |
Converts a message from a specific data format. |
Validate |
Checks if a message meets certain criteria. |
When |
Specifies conditions for message routing. |
When Skip Send To Endpoint |
Skips sending a message to an endpoint based on conditions. |
Wire Tap |
Sends a copy of a message to a separate route for monitoring or auditing. |
For more information about EIPs, access the Apache Camel’s official documentation. |
Share your suggestions with us!
Click here and then [+ Submit idea]