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:

  • Adding an attachment

    - setHeader:
          name: "SensediaAttachmentName"
          expression:
            constant: "notafiscal.pdf"
      - process:
          ref: "#class:com.sensedia.ipaas.camel.processor.AddAttachmentProcessor"
  • Removing an attachment

            - setHeader:
                name: "SensediaAttachmentName"
                expression:
                  constant: "*"
            - process:
                ref: "#class:com.sensedia.ipaas.camel.processor.RemoveAttachmentProcessor"

In the constant field of the setHeader step , you can specify the name of the file to be removed or use * to remove all attached files.

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.
Thanks for your feedback!
EDIT

Share your suggestions with us!
Click here and then [+ Submit idea]