This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-spring-boot.git
The following commit(s) were added to refs/heads/main by this push:
new 29618932a77 Regen
29618932a77 is described below
commit 29618932a776d30be39832e826297ba9d6ae43f4
Author: Claus Ibsen <[email protected]>
AuthorDate: Sun May 4 09:53:31 2025 +0200
Regen
---
.../camel/springboot/catalog/components/dapr.json | 76 +++++++++++------
.../camel-dapr-starter/src/main/docs/dapr.json | 31 +++++++
.../springboot/DaprComponentConfiguration.java | 99 +++++++++++++++++++---
.../dapr/springboot/DaprComponentConverter.java | 2 +
4 files changed, 170 insertions(+), 38 deletions(-)
diff --git
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/dapr.json
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/dapr.json
index d6d4fa4f322..6965ad1db9d 100644
---
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/dapr.json
+++
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/dapr.json
@@ -18,25 +18,30 @@
"async": false,
"api": false,
"consumerOnly": false,
- "producerOnly": true,
+ "producerOnly": false,
"lenientProperties": false,
"browsable": false,
"remote": true
},
"componentProperties": {
- "concurrency": { "index": 0, "kind": "property", "displayName":
"Concurrency", "group": "producer", "label": "producer", "required": false,
"type": "object", "javaType": "io.dapr.client.domain.StateOptions.Concurrency",
"enum": [ "FIRST_WRITE", "LAST_WRITE" ], "deprecated": false, "autowired":
false, "secret": false, "configurationClass":
"org.apache.camel.component.dapr.DaprConfiguration", "configurationField":
"configuration", "description": "Concurrency mode to use with state oper [...]
- "configuration": { "index": 1, "kind": "property", "displayName":
"Configuration", "group": "producer", "label": "", "required": false, "type":
"object", "javaType": "org.apache.camel.component.dapr.DaprConfiguration",
"deprecated": false, "autowired": false, "secret": false, "description": "The
component configurations" },
- "consistency": { "index": 2, "kind": "property", "displayName":
"Consistency", "group": "producer", "label": "producer", "required": false,
"type": "object", "javaType": "io.dapr.client.domain.StateOptions.Consistency",
"enum": [ "EVENTUAL", "STRONG" ], "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.dapr.DaprConfiguration", "configurationField":
"configuration", "description": "Consistency level to use with state
operations" },
- "eTag": { "index": 3, "kind": "property", "displayName": "ETag", "group":
"producer", "label": "producer", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.dapr.DaprConfiguration", "configurationField":
"configuration", "description": "The eTag for optimistic concurrency during
state save or delete operations" },
- "httpExtension": { "index": 4, "kind": "property", "displayName": "Http
Extension", "group": "producer", "label": "producer", "required": false,
"type": "object", "javaType": "io.dapr.client.domain.HttpExtension",
"deprecated": false, "deprecationNote": "", "autowired": true, "secret": false,
"configurationClass": "org.apache.camel.component.dapr.DaprConfiguration",
"configurationField": "configuration", "description": "HTTP method to use when
invoking the service. Accepts verbs like [...]
- "key": { "index": 5, "kind": "property", "displayName": "Key", "group":
"producer", "label": "producer", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.dapr.DaprConfiguration", "configurationField":
"configuration", "description": "The key used to identify the state object
within the specified state store" },
- "lazyStartProducer": { "index": 6, "kind": "property", "displayName":
"Lazy Start Producer", "group": "producer", "label": "producer", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": false, "description":
"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 [...]
- "methodToInvoke": { "index": 7, "kind": "property", "displayName": "Method
To Invoke", "group": "producer", "label": "producer", "required": false,
"type": "string", "javaType": "java.lang.String", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.dapr.DaprConfiguration", "configurationField":
"configuration", "description": "The name of the method or route to invoke on
the target service" },
- "serviceToInvoke": { "index": 8, "kind": "property", "displayName":
"Service To Invoke", "group": "producer", "label": "producer", "required":
false, "type": "string", "javaType": "java.lang.String", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.dapr.DaprConfiguration", "configurationField":
"configuration", "description": "Target service to invoke. Can be a Dapr App
ID, a named HTTPEndpoint, or a FQDN\/public URL" },
- "stateOperation": { "index": 9, "kind": "property", "displayName": "State
Operation", "group": "producer", "label": "producer", "required": false,
"type": "object", "javaType": "org.apache.camel.component.dapr.StateOperation",
"enum": [ "save", "saveBulk", "get", "getBulk", "delete", "executeTransaction"
], "deprecated": false, "autowired": false, "secret": false, "defaultValue":
"get", "configurationClass":
"org.apache.camel.component.dapr.DaprConfiguration", "configurationField": "
[...]
- "stateStore": { "index": 10, "kind": "property", "displayName": "State
Store", "group": "producer", "label": "producer", "required": false, "type":
"string", "javaType": "java.lang.String", "deprecated": false, "autowired":
false, "secret": false, "configurationClass":
"org.apache.camel.component.dapr.DaprConfiguration", "configurationField":
"configuration", "description": "The name of the Dapr state store to interact
with, defined in statestore.yaml config" },
- "verb": { "index": 11, "kind": "property", "displayName": "Verb", "group":
"producer", "label": "producer", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": "POST", "configurationClass":
"org.apache.camel.component.dapr.DaprConfiguration", "configurationField":
"configuration", "description": "The HTTP verb to use for invoking the method"
},
- "autowiredEnabled": { "index": 12, "kind": "property", "displayName":
"Autowired Enabled", "group": "advanced", "label": "advanced", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": true, "description":
"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 [...]
+ "configuration": { "index": 0, "kind": "property", "displayName":
"Configuration", "group": "common", "label": "", "required": false, "type":
"object", "javaType": "org.apache.camel.component.dapr.DaprConfiguration",
"deprecated": false, "autowired": false, "secret": false, "description": "The
component configurations" },
+ "contentType": { "index": 1, "kind": "property", "displayName": "Content
Type", "group": "common", "label": "common", "required": false, "type":
"string", "javaType": "java.lang.String", "deprecated": false, "autowired":
false, "secret": false, "configurationClass":
"org.apache.camel.component.dapr.DaprConfiguration", "configurationField":
"configuration", "description": "The contentType for the Pub\/Sub component to
use." },
+ "pubSubName": { "index": 2, "kind": "property", "displayName": "Pub Sub
Name", "group": "common", "label": "common", "required": false, "type":
"string", "javaType": "java.lang.String", "deprecated": false, "autowired":
false, "secret": false, "configurationClass":
"org.apache.camel.component.dapr.DaprConfiguration", "configurationField":
"configuration", "description": "The name of the Dapr Pub\/Sub component to
use. This identifies which underlying messaging system Dapr will intera [...]
+ "topic": { "index": 3, "kind": "property", "displayName": "Topic",
"group": "common", "label": "common", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.dapr.DaprConfiguration", "configurationField":
"configuration", "description": "The name of the topic to subscribe to. The
topic must exist in the Pub\/Sub component configured under the given
pubsubName." },
+ "bridgeErrorHandler": { "index": 4, "kind": "property", "displayName":
"Bridge Error Handler", "group": "consumer", "label": "consumer", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": false, "description":
"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 like [...]
+ "previewClient": { "index": 5, "kind": "property", "displayName": "Preview
Client", "group": "consumer", "label": "consumer", "required": false, "type":
"object", "javaType": "io.dapr.client.DaprPreviewClient", "deprecated": false,
"deprecationNote": "", "autowired": true, "secret": false,
"configurationClass": "org.apache.camel.component.dapr.DaprConfiguration",
"configurationField": "configuration", "description": "The client to consume
messages by the consumer" },
+ "concurrency": { "index": 6, "kind": "property", "displayName":
"Concurrency", "group": "producer", "label": "producer", "required": false,
"type": "object", "javaType": "io.dapr.client.domain.StateOptions.Concurrency",
"enum": [ "FIRST_WRITE", "LAST_WRITE" ], "deprecated": false, "autowired":
false, "secret": false, "configurationClass":
"org.apache.camel.component.dapr.DaprConfiguration", "configurationField":
"configuration", "description": "Concurrency mode to use with state oper [...]
+ "consistency": { "index": 7, "kind": "property", "displayName":
"Consistency", "group": "producer", "label": "producer", "required": false,
"type": "object", "javaType": "io.dapr.client.domain.StateOptions.Consistency",
"enum": [ "EVENTUAL", "STRONG" ], "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.dapr.DaprConfiguration", "configurationField":
"configuration", "description": "Consistency level to use with state
operations" },
+ "eTag": { "index": 8, "kind": "property", "displayName": "ETag", "group":
"producer", "label": "producer", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.dapr.DaprConfiguration", "configurationField":
"configuration", "description": "The eTag for optimistic concurrency during
state save or delete operations" },
+ "httpExtension": { "index": 9, "kind": "property", "displayName": "Http
Extension", "group": "producer", "label": "producer", "required": false,
"type": "object", "javaType": "io.dapr.client.domain.HttpExtension",
"deprecated": false, "deprecationNote": "", "autowired": true, "secret": false,
"configurationClass": "org.apache.camel.component.dapr.DaprConfiguration",
"configurationField": "configuration", "description": "HTTP method to use when
invoking the service. Accepts verbs like [...]
+ "key": { "index": 10, "kind": "property", "displayName": "Key", "group":
"producer", "label": "producer", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.dapr.DaprConfiguration", "configurationField":
"configuration", "description": "The key used to identify the state object
within the specified state store" },
+ "lazyStartProducer": { "index": 11, "kind": "property", "displayName":
"Lazy Start Producer", "group": "producer", "label": "producer", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": false, "description":
"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 fai [...]
+ "methodToInvoke": { "index": 12, "kind": "property", "displayName":
"Method To Invoke", "group": "producer", "label": "producer", "required":
false, "type": "string", "javaType": "java.lang.String", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.dapr.DaprConfiguration", "configurationField":
"configuration", "description": "The name of the method or route to invoke on
the target service" },
+ "serviceToInvoke": { "index": 13, "kind": "property", "displayName":
"Service To Invoke", "group": "producer", "label": "producer", "required":
false, "type": "string", "javaType": "java.lang.String", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.dapr.DaprConfiguration", "configurationField":
"configuration", "description": "Target service to invoke. Can be a Dapr App
ID, a named HTTPEndpoint, or a FQDN\/public URL" },
+ "stateOperation": { "index": 14, "kind": "property", "displayName": "State
Operation", "group": "producer", "label": "producer", "required": false,
"type": "object", "javaType": "org.apache.camel.component.dapr.StateOperation",
"enum": [ "save", "saveBulk", "get", "getBulk", "delete", "executeTransaction"
], "deprecated": false, "autowired": false, "secret": false, "defaultValue":
"get", "configurationClass":
"org.apache.camel.component.dapr.DaprConfiguration", "configurationField":
[...]
+ "stateStore": { "index": 15, "kind": "property", "displayName": "State
Store", "group": "producer", "label": "producer", "required": false, "type":
"string", "javaType": "java.lang.String", "deprecated": false, "autowired":
false, "secret": false, "configurationClass":
"org.apache.camel.component.dapr.DaprConfiguration", "configurationField":
"configuration", "description": "The name of the Dapr state store to interact
with, defined in statestore.yaml config" },
+ "verb": { "index": 16, "kind": "property", "displayName": "Verb", "group":
"producer", "label": "producer", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": "POST", "configurationClass":
"org.apache.camel.component.dapr.DaprConfiguration", "configurationField":
"configuration", "description": "The HTTP verb to use for invoking the method"
},
+ "autowiredEnabled": { "index": 17, "kind": "property", "displayName":
"Autowired Enabled", "group": "advanced", "label": "advanced", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": true, "description":
"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 [...]
},
"headers": {
"CamelDaprServiceToInvoke": { "index": 0, "kind": "header", "displayName":
"", "group": "producer", "label": "producer", "required": false, "javaType":
"String", "deprecated": false, "deprecationNote": "", "autowired": false,
"secret": false, "description": "Target service to invoke. Can be a Dapr App
ID, a named HTTPEndpoint, or a FQDN\/public URL", "constantName":
"org.apache.camel.component.dapr.DaprConstants#SERVICE_TO_INVOKE" },
@@ -54,20 +59,39 @@
"CamelDaprMetadata": { "index": 12, "kind": "header", "displayName": "",
"group": "producer", "label": "producer", "required": false, "javaType":
"Map<String, String>", "deprecated": false, "deprecationNote": "", "autowired":
false, "secret": false, "description": "Additional key-value pairs to be passed
to the state store", "constantName":
"org.apache.camel.component.dapr.DaprConstants#METADATA" },
"CamelDaprStates": { "index": 13, "kind": "header", "displayName": "",
"group": "producer", "label": "producer", "required": false, "javaType":
"List<State<?>>", "deprecated": false, "deprecationNote": "", "autowired":
false, "secret": false, "description": "List of states for bulk save
operation", "constantName":
"org.apache.camel.component.dapr.DaprConstants#STATES" },
"CamelDaprKeys": { "index": 14, "kind": "header", "displayName": "",
"group": "producer", "label": "producer", "required": false, "javaType":
"List<String>", "deprecated": false, "deprecationNote": "", "autowired": false,
"secret": false, "description": "List of keys for bulk get operation",
"constantName": "org.apache.camel.component.dapr.DaprConstants#KEYS" },
- "CamelDaprTransactions": { "index": 15, "kind": "header", "displayName":
"", "group": "producer", "label": "producer", "required": false, "javaType":
"List<TransactionalStateOperation<?>>", "deprecated": false, "deprecationNote":
"", "autowired": false, "secret": false, "description": "List of transactions
for execute transactions state operations", "constantName":
"org.apache.camel.component.dapr.DaprConstants#TRANSACTIONS" }
+ "CamelDaprTransactions": { "index": 15, "kind": "header", "displayName":
"", "group": "producer", "label": "producer", "required": false, "javaType":
"List<TransactionalStateOperation<?>>", "deprecated": false, "deprecationNote":
"", "autowired": false, "secret": false, "description": "List of transactions
for execute transactions state operations", "constantName":
"org.apache.camel.component.dapr.DaprConstants#TRANSACTIONS" },
+ "CamelDaprPubSubName": { "index": 16, "kind": "header", "displayName": "",
"group": "common", "label": "common", "required": false, "javaType": "String",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "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.", "constantName":
"org.apache.camel.component.dapr.DaprConstants#PUBSUB_NAME" },
+ "CamelDaprTopic": { "index": 17, "kind": "header", "displayName": "",
"group": "common", "label": "common", "required": false, "javaType": "String",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "The name of the topic to subscribe to. The topic must
exist in the Pub\/Sub component configured under the given pubsubName.",
"constantName": "org.apache.camel.component.dapr.DaprConstants#TOPIC" },
+ "CamelDaprContentType": { "index": 18, "kind": "header", "displayName":
"", "group": "common", "label": "common", "required": false, "javaType":
"String", "deprecated": false, "deprecationNote": "", "autowired": false,
"secret": false, "description": "The content type for the Pub\/Sub component to
use", "constantName":
"org.apache.camel.component.dapr.DaprConstants#CONTENT_TYPE" },
+ "CamelDaprID": { "index": 19, "kind": "header", "displayName": "",
"group": "consumer", "label": "consumer", "required": false, "javaType":
"String", "deprecated": false, "deprecationNote": "", "autowired": false,
"secret": false, "description": "Gets the unique identifier for the event, used
to distinguish it from other events", "constantName":
"org.apache.camel.component.dapr.DaprConstants#ID" },
+ "CamelDaprSource": { "index": 20, "kind": "header", "displayName": "",
"group": "consumer", "label": "consumer", "required": false, "javaType":
"String", "deprecated": false, "deprecationNote": "", "autowired": false,
"secret": false, "description": "Gets the origin of the event, typically a URI
indicating the component or service that generated the event", "constantName":
"org.apache.camel.component.dapr.DaprConstants#SOURCE" },
+ "CamelDaprType": { "index": 21, "kind": "header", "displayName": "",
"group": "consumer", "label": "consumer", "required": false, "javaType":
"String", "deprecated": false, "deprecationNote": "", "autowired": false,
"secret": false, "description": "Gets the string indicating the type of cloud
event", "constantName": "org.apache.camel.component.dapr.DaprConstants#TYPE" },
+ "CamelDaprSpecificVersion": { "index": 22, "kind": "header",
"displayName": "", "group": "consumer", "label": "consumer", "required": false,
"javaType": "String", "deprecated": false, "deprecationNote": "", "autowired":
false, "secret": false, "description": "Gets the version of the CloudEvents
specification that the event conforms to", "constantName":
"org.apache.camel.component.dapr.DaprConstants#SPECIFIC_VERSION" },
+ "CamelDaprDataContentType": { "index": 23, "kind": "header",
"displayName": "", "group": "consumer", "label": "consumer", "required": false,
"javaType": "String", "deprecated": false, "deprecationNote": "", "autowired":
false, "secret": false, "description": "Gets the content type of the event
data", "constantName":
"org.apache.camel.component.dapr.DaprConstants#DATA_CONTENT_TYPE" },
+ "CamelDaprBinaryData": { "index": 24, "kind": "header", "displayName": "",
"group": "consumer", "label": "consumer", "required": false, "javaType":
"byte[]", "deprecated": false, "deprecationNote": "", "autowired": false,
"secret": false, "description": "Gets the raw binary data payload of the event,
if present (for events where data_base64 is used instead of data)",
"constantName": "org.apache.camel.component.dapr.DaprConstants#BINARY_DATA" },
+ "CamelDaprTime": { "index": 25, "kind": "header", "displayName": "",
"group": "consumer", "label": "consumer", "required": false, "javaType":
"OffsetDateTime", "deprecated": false, "deprecationNote": "", "autowired":
false, "secret": false, "description": "Gets the timestamp of when the event
occurred", "constantName": "org.apache.camel.component.dapr.DaprConstants#TIME"
},
+ "CamelDaprTraceParent": { "index": 26, "kind": "header", "displayName":
"", "group": "consumer", "label": "consumer", "required": false, "javaType":
"String", "deprecated": false, "deprecationNote": "", "autowired": false,
"secret": false, "description": "Gets tracing info for following the event
across services (includes trace ID and span ID)", "constantName":
"org.apache.camel.component.dapr.DaprConstants#TRACE_PARENT" },
+ "CamelDaprTraceState": { "index": 27, "kind": "header", "displayName": "",
"group": "consumer", "label": "consumer", "required": false, "javaType":
"String", "deprecated": false, "deprecationNote": "", "autowired": false,
"secret": false, "description": "Gets additional vendor-specific trace
context", "constantName":
"org.apache.camel.component.dapr.DaprConstants#TRACE_STATE" }
},
"properties": {
"operation": { "index": 0, "kind": "path", "displayName": "Operation",
"group": "producer", "label": "producer", "required": true, "type": "object",
"javaType": "org.apache.camel.component.dapr.DaprOperation", "enum": [
"invokeService", "state" ], "deprecated": false, "deprecationNote": "",
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.dapr.DaprConfiguration", "configurationField":
"configuration", "description": "The Dapr building block opera [...]
- "concurrency": { "index": 1, "kind": "parameter", "displayName":
"Concurrency", "group": "producer", "label": "producer", "required": false,
"type": "object", "javaType": "io.dapr.client.domain.StateOptions.Concurrency",
"enum": [ "FIRST_WRITE", "LAST_WRITE" ], "deprecated": false, "autowired":
false, "secret": false, "configurationClass":
"org.apache.camel.component.dapr.DaprConfiguration", "configurationField":
"configuration", "description": "Concurrency mode to use with state ope [...]
- "consistency": { "index": 2, "kind": "parameter", "displayName":
"Consistency", "group": "producer", "label": "producer", "required": false,
"type": "object", "javaType": "io.dapr.client.domain.StateOptions.Consistency",
"enum": [ "EVENTUAL", "STRONG" ], "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.dapr.DaprConfiguration", "configurationField":
"configuration", "description": "Consistency level to use with state
operations" },
- "eTag": { "index": 3, "kind": "parameter", "displayName": "ETag", "group":
"producer", "label": "producer", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.dapr.DaprConfiguration", "configurationField":
"configuration", "description": "The eTag for optimistic concurrency during
state save or delete operations" },
- "httpExtension": { "index": 4, "kind": "parameter", "displayName": "Http
Extension", "group": "producer", "label": "producer", "required": false,
"type": "object", "javaType": "io.dapr.client.domain.HttpExtension",
"deprecated": false, "deprecationNote": "", "autowired": true, "secret": false,
"configurationClass": "org.apache.camel.component.dapr.DaprConfiguration",
"configurationField": "configuration", "description": "HTTP method to use when
invoking the service. Accepts verbs lik [...]
- "key": { "index": 5, "kind": "parameter", "displayName": "Key", "group":
"producer", "label": "producer", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.dapr.DaprConfiguration", "configurationField":
"configuration", "description": "The key used to identify the state object
within the specified state store" },
- "methodToInvoke": { "index": 6, "kind": "parameter", "displayName":
"Method To Invoke", "group": "producer", "label": "producer", "required":
false, "type": "string", "javaType": "java.lang.String", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.dapr.DaprConfiguration", "configurationField":
"configuration", "description": "The name of the method or route to invoke on
the target service" },
- "serviceToInvoke": { "index": 7, "kind": "parameter", "displayName":
"Service To Invoke", "group": "producer", "label": "producer", "required":
false, "type": "string", "javaType": "java.lang.String", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.dapr.DaprConfiguration", "configurationField":
"configuration", "description": "Target service to invoke. Can be a Dapr App
ID, a named HTTPEndpoint, or a FQDN\/public URL" },
- "stateOperation": { "index": 8, "kind": "parameter", "displayName": "State
Operation", "group": "producer", "label": "producer", "required": false,
"type": "object", "javaType": "org.apache.camel.component.dapr.StateOperation",
"enum": [ "save", "saveBulk", "get", "getBulk", "delete", "executeTransaction"
], "deprecated": false, "autowired": false, "secret": false, "defaultValue":
"get", "configurationClass":
"org.apache.camel.component.dapr.DaprConfiguration", "configurationField":
[...]
- "stateStore": { "index": 9, "kind": "parameter", "displayName": "State
Store", "group": "producer", "label": "producer", "required": false, "type":
"string", "javaType": "java.lang.String", "deprecated": false, "autowired":
false, "secret": false, "configurationClass":
"org.apache.camel.component.dapr.DaprConfiguration", "configurationField":
"configuration", "description": "The name of the Dapr state store to interact
with, defined in statestore.yaml config" },
- "verb": { "index": 10, "kind": "parameter", "displayName": "Verb",
"group": "producer", "label": "producer", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": "POST", "configurationClass":
"org.apache.camel.component.dapr.DaprConfiguration", "configurationField":
"configuration", "description": "The HTTP verb to use for invoking the method"
},
- "lazyStartProducer": { "index": 11, "kind": "parameter", "displayName":
"Lazy Start Producer", "group": "producer (advanced)", "label":
"producer,advanced", "required": false, "type": "boolean", "javaType":
"boolean", "deprecated": false, "autowired": false, "secret": false,
"defaultValue": false, "description": "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 produ [...]
+ "contentType": { "index": 1, "kind": "parameter", "displayName": "Content
Type", "group": "common", "label": "common", "required": false, "type":
"string", "javaType": "java.lang.String", "deprecated": false, "autowired":
false, "secret": false, "configurationClass":
"org.apache.camel.component.dapr.DaprConfiguration", "configurationField":
"configuration", "description": "The contentType for the Pub\/Sub component to
use." },
+ "pubSubName": { "index": 2, "kind": "parameter", "displayName": "Pub Sub
Name", "group": "common", "label": "common", "required": false, "type":
"string", "javaType": "java.lang.String", "deprecated": false, "autowired":
false, "secret": false, "configurationClass":
"org.apache.camel.component.dapr.DaprConfiguration", "configurationField":
"configuration", "description": "The name of the Dapr Pub\/Sub component to
use. This identifies which underlying messaging system Dapr will inter [...]
+ "topic": { "index": 3, "kind": "parameter", "displayName": "Topic",
"group": "common", "label": "common", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.dapr.DaprConfiguration", "configurationField":
"configuration", "description": "The name of the topic to subscribe to. The
topic must exist in the Pub\/Sub component configured under the given
pubsubName." },
+ "previewClient": { "index": 4, "kind": "parameter", "displayName":
"Preview Client", "group": "consumer", "label": "consumer", "required": false,
"type": "object", "javaType": "io.dapr.client.DaprPreviewClient", "deprecated":
false, "deprecationNote": "", "autowired": true, "secret": false,
"configurationClass": "org.apache.camel.component.dapr.DaprConfiguration",
"configurationField": "configuration", "description": "The client to consume
messages by the consumer" },
+ "bridgeErrorHandler": { "index": 5, "kind": "parameter", "displayName":
"Bridge Error Handler", "group": "consumer (advanced)", "label":
"consumer,advanced", "required": false, "type": "boolean", "javaType":
"boolean", "deprecated": false, "autowired": false, "secret": false,
"defaultValue": false, "description": "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 [...]
+ "exceptionHandler": { "index": 6, "kind": "parameter", "displayName":
"Exception Handler", "group": "consumer (advanced)", "label":
"consumer,advanced", "required": false, "type": "object", "javaType":
"org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.",
"deprecated": false, "autowired": false, "secret": false, "description": "To
let the consumer use a custom ExceptionHandler. Notice if the option
bridgeErrorHandler is enabled then this option is not in use. By def [...]
+ "exchangePattern": { "index": 7, "kind": "parameter", "displayName":
"Exchange Pattern", "group": "consumer (advanced)", "label":
"consumer,advanced", "required": false, "type": "object", "javaType":
"org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ],
"deprecated": false, "autowired": false, "secret": false, "description": "Sets
the exchange pattern when the consumer creates an exchange." },
+ "concurrency": { "index": 8, "kind": "parameter", "displayName":
"Concurrency", "group": "producer", "label": "producer", "required": false,
"type": "object", "javaType": "io.dapr.client.domain.StateOptions.Concurrency",
"enum": [ "FIRST_WRITE", "LAST_WRITE" ], "deprecated": false, "autowired":
false, "secret": false, "configurationClass":
"org.apache.camel.component.dapr.DaprConfiguration", "configurationField":
"configuration", "description": "Concurrency mode to use with state ope [...]
+ "consistency": { "index": 9, "kind": "parameter", "displayName":
"Consistency", "group": "producer", "label": "producer", "required": false,
"type": "object", "javaType": "io.dapr.client.domain.StateOptions.Consistency",
"enum": [ "EVENTUAL", "STRONG" ], "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.dapr.DaprConfiguration", "configurationField":
"configuration", "description": "Consistency level to use with state
operations" },
+ "eTag": { "index": 10, "kind": "parameter", "displayName": "ETag",
"group": "producer", "label": "producer", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.dapr.DaprConfiguration", "configurationField":
"configuration", "description": "The eTag for optimistic concurrency during
state save or delete operations" },
+ "httpExtension": { "index": 11, "kind": "parameter", "displayName": "Http
Extension", "group": "producer", "label": "producer", "required": false,
"type": "object", "javaType": "io.dapr.client.domain.HttpExtension",
"deprecated": false, "deprecationNote": "", "autowired": true, "secret": false,
"configurationClass": "org.apache.camel.component.dapr.DaprConfiguration",
"configurationField": "configuration", "description": "HTTP method to use when
invoking the service. Accepts verbs li [...]
+ "key": { "index": 12, "kind": "parameter", "displayName": "Key", "group":
"producer", "label": "producer", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.dapr.DaprConfiguration", "configurationField":
"configuration", "description": "The key used to identify the state object
within the specified state store" },
+ "methodToInvoke": { "index": 13, "kind": "parameter", "displayName":
"Method To Invoke", "group": "producer", "label": "producer", "required":
false, "type": "string", "javaType": "java.lang.String", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.dapr.DaprConfiguration", "configurationField":
"configuration", "description": "The name of the method or route to invoke on
the target service" },
+ "serviceToInvoke": { "index": 14, "kind": "parameter", "displayName":
"Service To Invoke", "group": "producer", "label": "producer", "required":
false, "type": "string", "javaType": "java.lang.String", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.dapr.DaprConfiguration", "configurationField":
"configuration", "description": "Target service to invoke. Can be a Dapr App
ID, a named HTTPEndpoint, or a FQDN\/public URL" },
+ "stateOperation": { "index": 15, "kind": "parameter", "displayName":
"State Operation", "group": "producer", "label": "producer", "required": false,
"type": "object", "javaType": "org.apache.camel.component.dapr.StateOperation",
"enum": [ "save", "saveBulk", "get", "getBulk", "delete", "executeTransaction"
], "deprecated": false, "autowired": false, "secret": false, "defaultValue":
"get", "configurationClass":
"org.apache.camel.component.dapr.DaprConfiguration", "configurationField": [...]
+ "stateStore": { "index": 16, "kind": "parameter", "displayName": "State
Store", "group": "producer", "label": "producer", "required": false, "type":
"string", "javaType": "java.lang.String", "deprecated": false, "autowired":
false, "secret": false, "configurationClass":
"org.apache.camel.component.dapr.DaprConfiguration", "configurationField":
"configuration", "description": "The name of the Dapr state store to interact
with, defined in statestore.yaml config" },
+ "verb": { "index": 17, "kind": "parameter", "displayName": "Verb",
"group": "producer", "label": "producer", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": "POST", "configurationClass":
"org.apache.camel.component.dapr.DaprConfiguration", "configurationField":
"configuration", "description": "The HTTP verb to use for invoking the method"
},
+ "lazyStartProducer": { "index": 18, "kind": "parameter", "displayName":
"Lazy Start Producer", "group": "producer (advanced)", "label":
"producer,advanced", "required": false, "type": "boolean", "javaType":
"boolean", "deprecated": false, "autowired": false, "secret": false,
"defaultValue": false, "description": "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 produ [...]
}
}
diff --git a/components-starter/camel-dapr-starter/src/main/docs/dapr.json
b/components-starter/camel-dapr-starter/src/main/docs/dapr.json
index b4135c34e1a..7fe13c334fd 100644
--- a/components-starter/camel-dapr-starter/src/main/docs/dapr.json
+++ b/components-starter/camel-dapr-starter/src/main/docs/dapr.json
@@ -20,6 +20,13 @@
"sourceType":
"org.apache.camel.component.dapr.springboot.DaprComponentConfiguration",
"defaultValue": true
},
+ {
+ "name": "camel.component.dapr.bridge-error-handler",
+ "type": "java.lang.Boolean",
+ "description": "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 n [...]
+ "sourceType":
"org.apache.camel.component.dapr.springboot.DaprComponentConfiguration",
+ "defaultValue": false
+ },
{
"name": "camel.component.dapr.concurrency",
"type": "io.dapr.client.domain.StateOptions$Concurrency",
@@ -38,6 +45,12 @@
"description": "Consistency level to use with state operations",
"sourceType":
"org.apache.camel.component.dapr.springboot.DaprComponentConfiguration"
},
+ {
+ "name": "camel.component.dapr.content-type",
+ "type": "java.lang.String",
+ "description": "The contentType for the Pub\/Sub component to use.",
+ "sourceType":
"org.apache.camel.component.dapr.springboot.DaprComponentConfiguration"
+ },
{
"name": "camel.component.dapr.customizer.enabled",
"type": "java.lang.Boolean",
@@ -80,6 +93,18 @@
"description": "The name of the method or route to invoke on the target
service",
"sourceType":
"org.apache.camel.component.dapr.springboot.DaprComponentConfiguration"
},
+ {
+ "name": "camel.component.dapr.preview-client",
+ "type": "io.dapr.client.DaprPreviewClient",
+ "description": "The client to consume messages by the consumer. The
option is a io.dapr.client.DaprPreviewClient type.",
+ "sourceType":
"org.apache.camel.component.dapr.springboot.DaprComponentConfiguration"
+ },
+ {
+ "name": "camel.component.dapr.pub-sub-name",
+ "type": "java.lang.String",
+ "description": "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.",
+ "sourceType":
"org.apache.camel.component.dapr.springboot.DaprComponentConfiguration"
+ },
{
"name": "camel.component.dapr.service-to-invoke",
"type": "java.lang.String",
@@ -99,6 +124,12 @@
"description": "The name of the Dapr state store to interact with,
defined in statestore.yaml config",
"sourceType":
"org.apache.camel.component.dapr.springboot.DaprComponentConfiguration"
},
+ {
+ "name": "camel.component.dapr.topic",
+ "type": "java.lang.String",
+ "description": "The name of the topic to subscribe to. The topic must
exist in the Pub\/Sub component configured under the given pubsubName.",
+ "sourceType":
"org.apache.camel.component.dapr.springboot.DaprComponentConfiguration"
+ },
{
"name": "camel.component.dapr.verb",
"type": "java.lang.String",
diff --git
a/components-starter/camel-dapr-starter/src/main/java/org/apache/camel/component/dapr/springboot/DaprComponentConfiguration.java
b/components-starter/camel-dapr-starter/src/main/java/org/apache/camel/component/dapr/springboot/DaprComponentConfiguration.java
index 0411b484992..de0fb9cef48 100644
---
a/components-starter/camel-dapr-starter/src/main/java/org/apache/camel/component/dapr/springboot/DaprComponentConfiguration.java
+++
b/components-starter/camel-dapr-starter/src/main/java/org/apache/camel/component/dapr/springboot/DaprComponentConfiguration.java
@@ -16,6 +16,7 @@
*/
package org.apache.camel.component.dapr.springboot;
+import io.dapr.client.DaprPreviewClient;
import io.dapr.client.domain.HttpExtension;
import io.dapr.client.domain.StateOptions.Concurrency;
import io.dapr.client.domain.StateOptions.Consistency;
@@ -40,15 +41,49 @@ public class DaprComponentConfiguration
* enabled by default.
*/
private Boolean enabled;
- /**
- * Concurrency mode to use with state operations
- */
- private Concurrency concurrency;
/**
* The component configurations. The option is a
* org.apache.camel.component.dapr.DaprConfiguration type.
*/
private DaprConfiguration configuration;
+ /**
+ * The contentType for the Pub/Sub component to use.
+ */
+ private String contentType;
+ /**
+ * 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.
+ */
+ private String pubSubName;
+ /**
+ * The name of the topic to subscribe to. The topic must exist in the
+ * Pub/Sub component configured under the given pubsubName.
+ */
+ private String topic;
+ /**
+ * 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.
+ */
+ private Boolean bridgeErrorHandler = false;
+ /**
+ * The client to consume messages by the consumer. The option is a
+ * io.dapr.client.DaprPreviewClient type.
+ */
+ private DaprPreviewClient previewClient;
+ /**
+ * Concurrency mode to use with state operations
+ */
+ private Concurrency concurrency;
/**
* Consistency level to use with state operations
*/
@@ -114,14 +149,6 @@ public class DaprComponentConfiguration
*/
private Boolean autowiredEnabled = true;
- public Concurrency getConcurrency() {
- return concurrency;
- }
-
- public void setConcurrency(Concurrency concurrency) {
- this.concurrency = concurrency;
- }
-
public DaprConfiguration getConfiguration() {
return configuration;
}
@@ -130,6 +157,54 @@ public class DaprComponentConfiguration
this.configuration = configuration;
}
+ public String getContentType() {
+ return contentType;
+ }
+
+ public void setContentType(String contentType) {
+ this.contentType = contentType;
+ }
+
+ public String getPubSubName() {
+ return pubSubName;
+ }
+
+ public void setPubSubName(String pubSubName) {
+ this.pubSubName = pubSubName;
+ }
+
+ public String getTopic() {
+ return topic;
+ }
+
+ public void setTopic(String topic) {
+ this.topic = topic;
+ }
+
+ public Boolean getBridgeErrorHandler() {
+ return bridgeErrorHandler;
+ }
+
+ public void setBridgeErrorHandler(Boolean bridgeErrorHandler) {
+ this.bridgeErrorHandler = bridgeErrorHandler;
+ }
+
+ public DaprPreviewClient getPreviewClient() {
+ return previewClient;
+ }
+
+ public void setPreviewClient(DaprPreviewClient previewClient) {
+ this.previewClient = previewClient;
+ }
+
+ public Concurrency getConcurrency() {
+ return concurrency;
+ }
+
+ public void setConcurrency(Concurrency concurrency) {
+ this.concurrency = concurrency;
+ }
+
public Consistency getConsistency() {
return consistency;
}
diff --git
a/components-starter/camel-dapr-starter/src/main/java/org/apache/camel/component/dapr/springboot/DaprComponentConverter.java
b/components-starter/camel-dapr-starter/src/main/java/org/apache/camel/component/dapr/springboot/DaprComponentConverter.java
index f0c56867886..116fcfe267f 100644
---
a/components-starter/camel-dapr-starter/src/main/java/org/apache/camel/component/dapr/springboot/DaprComponentConverter.java
+++
b/components-starter/camel-dapr-starter/src/main/java/org/apache/camel/component/dapr/springboot/DaprComponentConverter.java
@@ -40,6 +40,7 @@ public class DaprComponentConverter implements
GenericConverter {
public Set<ConvertiblePair> getConvertibleTypes() {
Set<ConvertiblePair> answer = new LinkedHashSet<>();
answer.add(new ConvertiblePair(String.class,
org.apache.camel.component.dapr.DaprConfiguration.class));
+ answer.add(new ConvertiblePair(String.class,
io.dapr.client.DaprPreviewClient.class));
answer.add(new ConvertiblePair(String.class,
io.dapr.client.domain.HttpExtension.class));
return answer;
}
@@ -58,6 +59,7 @@ public class DaprComponentConverter implements
GenericConverter {
ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
switch (targetType.getName()) {
case "org.apache.camel.component.dapr.DaprConfiguration": return
applicationContext.getBean(ref,
org.apache.camel.component.dapr.DaprConfiguration.class);
+ case "io.dapr.client.DaprPreviewClient": return
applicationContext.getBean(ref, io.dapr.client.DaprPreviewClient.class);
case "io.dapr.client.domain.HttpExtension": return
applicationContext.getBean(ref, io.dapr.client.domain.HttpExtension.class);
}
return null;