Saga Component

Available as of Camel version 2.21

The saga component provides a bridge to execute custom actions within a route using the Saga EIP.

The component should be used for advanced tasks, such as deciding to complete or compensate a Saga with completionMode set to MANUAL.

Refer to the Saga EIP documentation for help on using sagas in common scenarios.

URI format

saga:action

Options

The Saga component supports 2 options, which are listed below.

Name Description Default Type

resolveProperty Placeholders (advanced)

Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders.

true

boolean

basicPropertyBinding (advanced)

Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities

false

boolean

The Saga endpoint is configured using URI syntax:

saga:action

with the following path and query parameters:

Path Parameters (1 parameters):

Name Description Default Type

action

Required Action to execute (complete or compensate)

SagaEndpointAction

Query Parameters (2 parameters):

Name Description Default Type

basicPropertyBinding (advanced)

Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities

false

boolean

synchronous (advanced)

Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported).

false

boolean

Spring Boot Auto-Configuration

When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:

<dependency>
  <groupId>org.apache.camel</groupId>
  <artifactId>camel-saga-starter</artifactId>
  <version>x.x.x</version>
  <!-- use the same version as your Camel core version -->
</dependency>

The component supports 3 options, which are listed below.

Name Description Default Type

camel.component.saga.basic-property-binding

Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities

false

Boolean

camel.component.saga.enabled

Whether to enable auto configuration of the saga component. This is enabled by default.

Boolean

camel.component.saga.resolve-property-placeholders

Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders.

true

Boolean