Dapr

Dapr component which interfaces with Dapr Building Blocks.

What’s inside

Please refer to the above links for usage and configuration details.

Maven coordinates

<dependency>
    <groupId>org.apache.camel.springboot</groupId>
    <artifactId>camel-dapr-starter</artifactId>
</dependency>

Spring Boot Auto-Configuration

The starter supports 41 options, which are listed below.

Name Description Default Type

camel.component.dapr.autowired-enabled

Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc.

true

Boolean

camel.component.dapr.binding-name

The name of the Dapr binding to invoke

String

camel.component.dapr.binding-operation

The operation to perform on the binding

String

camel.component.dapr.bridge-error-handler

Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.

false

Boolean

camel.component.dapr.client

The Dapr Client. The option is a io.dapr.client.DaprClient type.

DaprClient

camel.component.dapr.concurrency

Concurrency mode to use with state operations

StateOptions$Concurrency

camel.component.dapr.config-keys

List of keys for configuration operation

String

camel.component.dapr.config-store

The name of the Dapr configuration store to interact with, defined in statestore.yaml config

String

camel.component.dapr.configuration

The component configurations. The option is a org.apache.camel.component.dapr.DaprConfiguration type.

DaprConfiguration

camel.component.dapr.consistency

Consistency level to use with state operations

StateOptions$Consistency

camel.component.dapr.content-type

The contentType for the Pub/Sub component to use.

String

camel.component.dapr.e-tag

The eTag for optimistic concurrency during state save or delete operations

String

camel.component.dapr.enabled

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

Boolean

camel.component.dapr.event-name

The name of the event. Event names are case-insensitive

String

camel.component.dapr.expiry-in-seconds

The expiry time in seconds for the lock

Integer

camel.component.dapr.get-workflow-i-o

Set true to fetch the workflow instance’s inputs, outputs, and custom status, or false to omit

false

Boolean

camel.component.dapr.header-filter-strategy

To use a custom HeaderFilterStrategy to filter header to and from Camel message. The option is a org.apache.camel.spi.HeaderFilterStrategy type.

HeaderFilterStrategy

camel.component.dapr.http-extension

HTTP method to use when invoking the service. Accepts verbs like GET, POST, PUT, DELETE, etc. Creates a minimal HttpExtension with no headers or query params. Takes precedence over verb. The option is a io.dapr.client.domain.HttpExtension type.

HttpExtension

camel.component.dapr.key

The key used to identify the state/secret object within the specified state/secret store

String

camel.component.dapr.lazy-start-producer

Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel’s routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.

false

Boolean

camel.component.dapr.lock-operation

The lock operation to perform on the store. Required for DaprOperation.lock operation

trylock

LockOperation

camel.component.dapr.lock-owner

The lock owner identifier for the lock

String

camel.component.dapr.method-to-invoke

The name of the method or route to invoke on the target service

String

camel.component.dapr.preview-client

The Dapr Preview Client. The option is a io.dapr.client.DaprPreviewClient type.

DaprPreviewClient

camel.component.dapr.pub-sub-name

The name of the Dapr Pub/Sub component to use. This identifies which underlying messaging system Dapr will interact with for publishing or subscribing to events.

String

camel.component.dapr.reason

Reason for suspending/resuming the workflow instance

String

camel.component.dapr.resource-id

The resource Id for the lock

String

camel.component.dapr.secret-store

The name of the Dapr secret store to interact with, defined in local-secret-store.yaml config

String

camel.component.dapr.service-to-invoke

Target service to invoke. Can be a Dapr App ID, a named HTTPEndpoint, or a FQDN/public URL

String

camel.component.dapr.state-operation

The state operation to perform on the state store. Required for DaprOperation.state operation

get

StateOperation

camel.component.dapr.state-store

The name of the Dapr state store to interact with, defined in statestore.yaml config

String

camel.component.dapr.store-name

The lock store name

String

camel.component.dapr.timeout

The amount of time to wait for the workflow instance to start/complete

Duration

camel.component.dapr.topic

The name of the topic to subscribe to. The topic must exist in the Pub/Sub component configured under the given pubsubName.

String

camel.component.dapr.verb

The HTTP verb to use for invoking the method

POST

String

camel.component.dapr.workflow-class

The FQCN of the class which implements io.dapr.workflows.Workflow

String

camel.component.dapr.workflow-client

The Dapr Workflow Client. The option is a io.dapr.workflows.client.DaprWorkflowClient type.

DaprWorkflowClient

camel.component.dapr.workflow-instance-id

The instance ID of the workflow

String

camel.component.dapr.workflow-operation

The workflow operation to perform. Required for DaprOperation.workflow operation

schedulenew

WorkflowOperation

camel.component.dapr.workflow-start-time

The start time of the new workflow

Instant

camel.component.dapr.workflow-version

The version of the workflow to start

String