You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by gi...@apache.org on 2023/07/26 00:27:26 UTC

[camel-spring-boot] 01/01: [create-pull-request] automated change

This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a commit to branch automatic-periodic-sync
in repository https://gitbox.apache.org/repos/asf/camel-spring-boot.git

commit 8ae33818459a0902e182e35d06da14c617e35c1b
Author: oscerd <os...@users.noreply.github.com>
AuthorDate: Wed Jul 26 00:27:18 2023 +0000

    [create-pull-request] automated change
---
 .../springboot/catalog/components/pulsar.json      | 130 +++++++++++----------
 .../camel-pulsar-starter/src/main/docs/pulsar.json |  13 +++
 .../springboot/PulsarComponentConfiguration.java   |  26 +++++
 3 files changed, 106 insertions(+), 63 deletions(-)

diff --git a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/pulsar.json b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/pulsar.json
index e3f6ffe3cb1..dfcf3763422 100644
--- a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/pulsar.json
+++ b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/pulsar.json
@@ -35,38 +35,40 @@
     "consumerNamePrefix": { "index": 10, "kind": "property", "displayName": "Consumer Name Prefix", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "cons", "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "Prefix to add to consumer names when a SHARED or FAILOVER subscri [...]
     "consumerQueueSize": { "index": 11, "kind": "property", "displayName": "Consumer Queue Size", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 10, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "Size of the consumer queue - defaults to 10" },
     "deadLetterTopic": { "index": 12, "kind": "property", "displayName": "Dead Letter Topic", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "Name of the topic where the messages which fail maxRedeliverCount times will be sent. Note: if  [...]
-    "keySharedPolicy": { "index": 13, "kind": "property", "displayName": "Key Shared Policy", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "AUTO_SPLIT", "STICKY" ], "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "Policy to use by consumer when using key-shared subscriptio [...]
-    "maxRedeliverCount": { "index": 14, "kind": "property", "displayName": "Max Redeliver Count", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "Maximum number of times that a message will be redelivered before being sent to the dead  [...]
-    "messageListener": { "index": 15, "kind": "property", "displayName": "Message Listener", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "Whether to use the messageListener interface, or to receive messages using a separ [...]
-    "negativeAckRedeliveryBackoff": { "index": 16, "kind": "property", "displayName": "Negative Ack Redelivery Backoff", "group": "consumer", "label": "consumer", "required": false, "type": "object", "javaType": "org.apache.pulsar.client.api.RedeliveryBackoff", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "RedeliveryBackoff to use for negative  [...]
-    "negativeAckRedeliveryDelayMicros": { "index": 17, "kind": "property", "displayName": "Negative Ack Redelivery Delay Micros", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 60000000, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "Set the negative acknowledgement delay" },
-    "numberOfConsumers": { "index": 18, "kind": "property", "displayName": "Number Of Consumers", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "Number of consumers - defaults to 1" },
-    "numberOfConsumerThreads": { "index": 19, "kind": "property", "displayName": "Number Of Consumer Threads", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "Number of threads to receive and handle messages when using a separate  [...]
-    "readCompacted": { "index": 20, "kind": "property", "displayName": "Read Compacted", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "Enable compacted topic reading." },
-    "subscriptionInitialPosition": { "index": 21, "kind": "property", "displayName": "Subscription Initial Position", "group": "consumer", "label": "consumer", "required": false, "type": "object", "javaType": "org.apache.camel.component.pulsar.utils.consumers.SubscriptionInitialPosition", "enum": [ "EARLIEST", "LATEST" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "LATEST", "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "conf [...]
-    "subscriptionName": { "index": 22, "kind": "property", "displayName": "Subscription Name", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "subs", "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "Name of the subscription to use" },
-    "subscriptionTopicsMode": { "index": 23, "kind": "property", "displayName": "Subscription Topics Mode", "group": "consumer", "label": "consumer", "required": false, "type": "object", "javaType": "org.apache.pulsar.client.api.RegexSubscriptionMode", "enum": [ "PersistentOnly", "NonPersistentOnly", "AllTopics" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "PersistentOnly", "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "con [...]
-    "subscriptionType": { "index": 24, "kind": "property", "displayName": "Subscription Type", "group": "consumer", "label": "consumer", "required": false, "type": "object", "javaType": "org.apache.camel.component.pulsar.utils.consumers.SubscriptionType", "enum": [ "EXCLUSIVE", "SHARED", "FAILOVER", "KEY_SHARED" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "EXCLUSIVE", "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configur [...]
-    "topicsPattern": { "index": 25, "kind": "property", "displayName": "Topics Pattern", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "Whether the topic is a pattern (regular expression) that allows the consumer to subsc [...]
-    "pulsarMessageReceiptFactory": { "index": 26, "kind": "property", "displayName": "Pulsar Message Receipt Factory", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.pulsar.PulsarMessageReceiptFactory", "deprecated": false, "autowired": false, "secret": false, "description": "Provide a factory to create an alternate implementation of PulsarMessageReceipt." },
-    "batcherBuilder": { "index": 27, "kind": "property", "displayName": "Batcher Builder", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.pulsar.client.api.BatcherBuilder", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "DEFAULT", "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "Control batching method used by the producer." },
-    "batchingEnabled": { "index": 28, "kind": "property", "displayName": "Batching Enabled", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "Control whether automatic batching of messages is enabled for the producer." },
-    "batchingMaxMessages": { "index": 29, "kind": "property", "displayName": "Batching Max Messages", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "The maximum size to batch messages." },
-    "batchingMaxPublishDelayMicros": { "index": 30, "kind": "property", "displayName": "Batching Max Publish Delay Micros", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "The maximum time period within which the messages sent [...]
-    "blockIfQueueFull": { "index": 31, "kind": "property", "displayName": "Block If Queue Full", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "Whether to block the producing thread if pending messages queue is full or to [...]
-    "chunkingEnabled": { "index": 32, "kind": "property", "displayName": "Chunking Enabled", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "Control whether chunking of messages is enabled for the producer." },
-    "compressionType": { "index": 33, "kind": "property", "displayName": "Compression Type", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.pulsar.client.api.CompressionType", "enum": [ "NONE", "LZ4", "ZLIB", "ZSTD", "SNAPPY" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "NONE", "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "descri [...]
-    "initialSequenceId": { "index": 34, "kind": "property", "displayName": "Initial Sequence Id", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": -1, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "The first message published will have a sequence Id of initialSequenceId 1." },
-    "lazyStartProducer": { "index": 35, "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 [...]
-    "maxPendingMessages": { "index": 36, "kind": "property", "displayName": "Max Pending Messages", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "Size of the pending massages queue. When the queue is full, by default, any fur [...]
-    "maxPendingMessagesAcrossPartitions": { "index": 37, "kind": "property", "displayName": "Max Pending Messages Across Partitions", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": true, "autowired": false, "secret": false, "defaultValue": 50000, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "The maximum number of pending messages for pa [...]
-    "messageRouter": { "index": 38, "kind": "property", "displayName": "Message Router", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.pulsar.client.api.MessageRouter", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "Custom Message Router to use" },
-    "messageRoutingMode": { "index": 39, "kind": "property", "displayName": "Message Routing Mode", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.pulsar.client.api.MessageRoutingMode", "enum": [ "SinglePartition", "RoundRobinPartition", "CustomPartition" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "RoundRobinPartition", "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", " [...]
-    "producerName": { "index": 40, "kind": "property", "displayName": "Producer Name", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "Name of the producer. If unset, lets Pulsar select a unique identifier." },
-    "sendTimeoutMs": { "index": 41, "kind": "property", "displayName": "Send Timeout Ms", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 30000, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "Send timeout in milliseconds" },
-    "autoConfiguration": { "index": 42, "kind": "property", "displayName": "Auto Configuration", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.pulsar.utils.AutoConfiguration", "deprecated": false, "autowired": false, "secret": false, "description": "The pulsar auto configuration" },
-    "autowiredEnabled": { "index": 43, "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  [...]
-    "pulsarClient": { "index": 44, "kind": "property", "displayName": "Pulsar Client", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.pulsar.client.api.PulsarClient", "deprecated": false, "autowired": true, "secret": false, "description": "The pulsar client" }
+    "enableRetry": { "index": 13, "kind": "property", "displayName": "Enable Retry", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "To enable retry letter topic mode. The default retry letter topic uses this format: topic [...]
+    "keySharedPolicy": { "index": 14, "kind": "property", "displayName": "Key Shared Policy", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "AUTO_SPLIT", "STICKY" ], "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "Policy to use by consumer when using key-shared subscriptio [...]
+    "maxRedeliverCount": { "index": 15, "kind": "property", "displayName": "Max Redeliver Count", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "Maximum number of times that a message will be redelivered before being sent to the dead  [...]
+    "messageListener": { "index": 16, "kind": "property", "displayName": "Message Listener", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "Whether to use the messageListener interface, or to receive messages using a separ [...]
+    "negativeAckRedeliveryBackoff": { "index": 17, "kind": "property", "displayName": "Negative Ack Redelivery Backoff", "group": "consumer", "label": "consumer", "required": false, "type": "object", "javaType": "org.apache.pulsar.client.api.RedeliveryBackoff", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "RedeliveryBackoff to use for negative  [...]
+    "negativeAckRedeliveryDelayMicros": { "index": 18, "kind": "property", "displayName": "Negative Ack Redelivery Delay Micros", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 60000000, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "Set the negative acknowledgement delay" },
+    "numberOfConsumers": { "index": 19, "kind": "property", "displayName": "Number Of Consumers", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "Number of consumers - defaults to 1" },
+    "numberOfConsumerThreads": { "index": 20, "kind": "property", "displayName": "Number Of Consumer Threads", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "Number of threads to receive and handle messages when using a separate  [...]
+    "readCompacted": { "index": 21, "kind": "property", "displayName": "Read Compacted", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "Enable compacted topic reading." },
+    "retryLetterTopic": { "index": 22, "kind": "property", "displayName": "Retry Letter Topic", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "Name of the topic to use in retry mode. Note: if not set, default topic name will be topicNam [...]
+    "subscriptionInitialPosition": { "index": 23, "kind": "property", "displayName": "Subscription Initial Position", "group": "consumer", "label": "consumer", "required": false, "type": "object", "javaType": "org.apache.camel.component.pulsar.utils.consumers.SubscriptionInitialPosition", "enum": [ "EARLIEST", "LATEST" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "LATEST", "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "conf [...]
+    "subscriptionName": { "index": 24, "kind": "property", "displayName": "Subscription Name", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "subs", "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "Name of the subscription to use" },
+    "subscriptionTopicsMode": { "index": 25, "kind": "property", "displayName": "Subscription Topics Mode", "group": "consumer", "label": "consumer", "required": false, "type": "object", "javaType": "org.apache.pulsar.client.api.RegexSubscriptionMode", "enum": [ "PersistentOnly", "NonPersistentOnly", "AllTopics" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "PersistentOnly", "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "con [...]
+    "subscriptionType": { "index": 26, "kind": "property", "displayName": "Subscription Type", "group": "consumer", "label": "consumer", "required": false, "type": "object", "javaType": "org.apache.camel.component.pulsar.utils.consumers.SubscriptionType", "enum": [ "EXCLUSIVE", "SHARED", "FAILOVER", "KEY_SHARED" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "EXCLUSIVE", "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configur [...]
+    "topicsPattern": { "index": 27, "kind": "property", "displayName": "Topics Pattern", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "Whether the topic is a pattern (regular expression) that allows the consumer to subsc [...]
+    "pulsarMessageReceiptFactory": { "index": 28, "kind": "property", "displayName": "Pulsar Message Receipt Factory", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.pulsar.PulsarMessageReceiptFactory", "deprecated": false, "autowired": false, "secret": false, "description": "Provide a factory to create an alternate implementation of PulsarMessageReceipt." },
+    "batcherBuilder": { "index": 29, "kind": "property", "displayName": "Batcher Builder", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.pulsar.client.api.BatcherBuilder", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "DEFAULT", "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "Control batching method used by the producer." },
+    "batchingEnabled": { "index": 30, "kind": "property", "displayName": "Batching Enabled", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "Control whether automatic batching of messages is enabled for the producer." },
+    "batchingMaxMessages": { "index": 31, "kind": "property", "displayName": "Batching Max Messages", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "The maximum size to batch messages." },
+    "batchingMaxPublishDelayMicros": { "index": 32, "kind": "property", "displayName": "Batching Max Publish Delay Micros", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "The maximum time period within which the messages sent [...]
+    "blockIfQueueFull": { "index": 33, "kind": "property", "displayName": "Block If Queue Full", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "Whether to block the producing thread if pending messages queue is full or to [...]
+    "chunkingEnabled": { "index": 34, "kind": "property", "displayName": "Chunking Enabled", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "Control whether chunking of messages is enabled for the producer." },
+    "compressionType": { "index": 35, "kind": "property", "displayName": "Compression Type", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.pulsar.client.api.CompressionType", "enum": [ "NONE", "LZ4", "ZLIB", "ZSTD", "SNAPPY" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "NONE", "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "descri [...]
+    "initialSequenceId": { "index": 36, "kind": "property", "displayName": "Initial Sequence Id", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": -1, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "The first message published will have a sequence Id of initialSequenceId 1." },
+    "lazyStartProducer": { "index": 37, "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 [...]
+    "maxPendingMessages": { "index": 38, "kind": "property", "displayName": "Max Pending Messages", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "Size of the pending massages queue. When the queue is full, by default, any fur [...]
+    "maxPendingMessagesAcrossPartitions": { "index": 39, "kind": "property", "displayName": "Max Pending Messages Across Partitions", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": true, "autowired": false, "secret": false, "defaultValue": 50000, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "The maximum number of pending messages for pa [...]
+    "messageRouter": { "index": 40, "kind": "property", "displayName": "Message Router", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.pulsar.client.api.MessageRouter", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "Custom Message Router to use" },
+    "messageRoutingMode": { "index": 41, "kind": "property", "displayName": "Message Routing Mode", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.pulsar.client.api.MessageRoutingMode", "enum": [ "SinglePartition", "RoundRobinPartition", "CustomPartition" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "RoundRobinPartition", "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", " [...]
+    "producerName": { "index": 42, "kind": "property", "displayName": "Producer Name", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "Name of the producer. If unset, lets Pulsar select a unique identifier." },
+    "sendTimeoutMs": { "index": 43, "kind": "property", "displayName": "Send Timeout Ms", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 30000, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "Send timeout in milliseconds" },
+    "autoConfiguration": { "index": 44, "kind": "property", "displayName": "Auto Configuration", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.pulsar.utils.AutoConfiguration", "deprecated": false, "autowired": false, "secret": false, "description": "The pulsar auto configuration" },
+    "autowiredEnabled": { "index": 45, "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  [...]
+    "pulsarClient": { "index": 46, "kind": "property", "displayName": "Pulsar Client", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.pulsar.client.api.PulsarClient", "deprecated": false, "autowired": true, "secret": false, "description": "The pulsar client" }
   },
   "headers": {
     "properties": { "index": 0, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "Map<String, String>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The properties attached to the message.", "constantName": "org.apache.camel.component.pulsar.utils.message.PulsarMessageHeaders#PROPERTIES" },
@@ -101,36 +103,38 @@
     "consumerNamePrefix": { "index": 12, "kind": "parameter", "displayName": "Consumer Name Prefix", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "cons", "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "Prefix to add to consumer names when a SHARED or FAILOVER  [...]
     "consumerQueueSize": { "index": 13, "kind": "parameter", "displayName": "Consumer Queue Size", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 10, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "Size of the consumer queue - defaults to 10" },
     "deadLetterTopic": { "index": 14, "kind": "parameter", "displayName": "Dead Letter Topic", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "Name of the topic where the messages which fail maxRedeliverCount times will be sent. No [...]
-    "keySharedPolicy": { "index": 15, "kind": "parameter", "displayName": "Key Shared Policy", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "AUTO_SPLIT", "STICKY" ], "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "Policy to use by consumer when using key-shared subs [...]
-    "maxRedeliverCount": { "index": 16, "kind": "parameter", "displayName": "Max Redeliver Count", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "Maximum number of times that a message will be redelivered before being sent to th [...]
-    "messageListener": { "index": 17, "kind": "parameter", "displayName": "Message Listener", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "Whether to use the messageListener interface, or to receive messages using  [...]
-    "negativeAckRedeliveryBackoff": { "index": 18, "kind": "parameter", "displayName": "Negative Ack Redelivery Backoff", "group": "consumer", "label": "consumer", "required": false, "type": "object", "javaType": "org.apache.pulsar.client.api.RedeliveryBackoff", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "RedeliveryBackoff to use for ne [...]
-    "negativeAckRedeliveryDelayMicros": { "index": 19, "kind": "parameter", "displayName": "Negative Ack Redelivery Delay Micros", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 60000000, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "Set the negative acknowledgement delay" },
-    "numberOfConsumers": { "index": 20, "kind": "parameter", "displayName": "Number Of Consumers", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "Number of consumers - defaults to 1" },
-    "numberOfConsumerThreads": { "index": 21, "kind": "parameter", "displayName": "Number Of Consumer Threads", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "Number of threads to receive and handle messages when using a se [...]
-    "readCompacted": { "index": 22, "kind": "parameter", "displayName": "Read Compacted", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "Enable compacted topic reading." },
-    "subscriptionInitialPosition": { "index": 23, "kind": "parameter", "displayName": "Subscription Initial Position", "group": "consumer", "label": "consumer", "required": false, "type": "object", "javaType": "org.apache.camel.component.pulsar.utils.consumers.SubscriptionInitialPosition", "enum": [ "EARLIEST", "LATEST" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "LATEST", "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "con [...]
-    "subscriptionName": { "index": 24, "kind": "parameter", "displayName": "Subscription Name", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "subs", "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "Name of the subscription to use" },
-    "subscriptionTopicsMode": { "index": 25, "kind": "parameter", "displayName": "Subscription Topics Mode", "group": "consumer", "label": "consumer", "required": false, "type": "object", "javaType": "org.apache.pulsar.client.api.RegexSubscriptionMode", "enum": [ "PersistentOnly", "NonPersistentOnly", "AllTopics" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "PersistentOnly", "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "co [...]
-    "subscriptionType": { "index": 26, "kind": "parameter", "displayName": "Subscription Type", "group": "consumer", "label": "consumer", "required": false, "type": "object", "javaType": "org.apache.camel.component.pulsar.utils.consumers.SubscriptionType", "enum": [ "EXCLUSIVE", "SHARED", "FAILOVER", "KEY_SHARED" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "EXCLUSIVE", "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configu [...]
-    "topicsPattern": { "index": 27, "kind": "parameter", "displayName": "Topics Pattern", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "Whether the topic is a pattern (regular expression) that allows the consumer t [...]
-    "bridgeErrorHandler": { "index": 28, "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 occurred while the consumer is trying to pickup incoming messages, or the li [...]
-    "exceptionHandler": { "index": 29, "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 de [...]
-    "exchangePattern": { "index": 30, "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." },
-    "batcherBuilder": { "index": 31, "kind": "parameter", "displayName": "Batcher Builder", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.pulsar.client.api.BatcherBuilder", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "DEFAULT", "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "Control batching method used by the p [...]
-    "batchingEnabled": { "index": 32, "kind": "parameter", "displayName": "Batching Enabled", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "Control whether automatic batching of messages is enabled for the producer." },
-    "batchingMaxMessages": { "index": 33, "kind": "parameter", "displayName": "Batching Max Messages", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "The maximum size to batch messages." },
-    "batchingMaxPublishDelayMicros": { "index": 34, "kind": "parameter", "displayName": "Batching Max Publish Delay Micros", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "The maximum time period within which the messag [...]
-    "blockIfQueueFull": { "index": 35, "kind": "parameter", "displayName": "Block If Queue Full", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "Whether to block the producing thread if pending messages queue is ful [...]
-    "chunkingEnabled": { "index": 36, "kind": "parameter", "displayName": "Chunking Enabled", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "Control whether chunking of messages is enabled for the producer." },
-    "compressionType": { "index": 37, "kind": "parameter", "displayName": "Compression Type", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.pulsar.client.api.CompressionType", "enum": [ "NONE", "LZ4", "ZLIB", "ZSTD", "SNAPPY" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "NONE", "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration",  [...]
-    "initialSequenceId": { "index": 38, "kind": "parameter", "displayName": "Initial Sequence Id", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": -1, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "The first message published will have a sequence Id of initialSequenceId 1." },
-    "maxPendingMessages": { "index": 39, "kind": "parameter", "displayName": "Max Pending Messages", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "Size of the pending massages queue. When the queue is full, by default,  [...]
-    "maxPendingMessagesAcrossPartitions": { "index": 40, "kind": "parameter", "displayName": "Max Pending Messages Across Partitions", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": true, "autowired": false, "secret": false, "defaultValue": 50000, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "The maximum number of pending messages [...]
-    "messageRouter": { "index": 41, "kind": "parameter", "displayName": "Message Router", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.pulsar.client.api.MessageRouter", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "Custom Message Router to use" },
-    "messageRoutingMode": { "index": 42, "kind": "parameter", "displayName": "Message Routing Mode", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.pulsar.client.api.MessageRoutingMode", "enum": [ "SinglePartition", "RoundRobinPartition", "CustomPartition" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "RoundRobinPartition", "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration",  [...]
-    "producerName": { "index": 43, "kind": "parameter", "displayName": "Producer Name", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "Name of the producer. If unset, lets Pulsar select a unique identifier." },
-    "sendTimeoutMs": { "index": 44, "kind": "parameter", "displayName": "Send Timeout Ms", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 30000, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "Send timeout in milliseconds" },
-    "lazyStartProducer": { "index": 45, "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 [...]
+    "enableRetry": { "index": 15, "kind": "parameter", "displayName": "Enable Retry", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "To enable retry letter topic mode. The default retry letter topic uses this format [...]
+    "keySharedPolicy": { "index": 16, "kind": "parameter", "displayName": "Key Shared Policy", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "AUTO_SPLIT", "STICKY" ], "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "Policy to use by consumer when using key-shared subs [...]
+    "maxRedeliverCount": { "index": 17, "kind": "parameter", "displayName": "Max Redeliver Count", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "Maximum number of times that a message will be redelivered before being sent to th [...]
+    "messageListener": { "index": 18, "kind": "parameter", "displayName": "Message Listener", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "Whether to use the messageListener interface, or to receive messages using  [...]
+    "negativeAckRedeliveryBackoff": { "index": 19, "kind": "parameter", "displayName": "Negative Ack Redelivery Backoff", "group": "consumer", "label": "consumer", "required": false, "type": "object", "javaType": "org.apache.pulsar.client.api.RedeliveryBackoff", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "RedeliveryBackoff to use for ne [...]
+    "negativeAckRedeliveryDelayMicros": { "index": 20, "kind": "parameter", "displayName": "Negative Ack Redelivery Delay Micros", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 60000000, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "Set the negative acknowledgement delay" },
+    "numberOfConsumers": { "index": 21, "kind": "parameter", "displayName": "Number Of Consumers", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "Number of consumers - defaults to 1" },
+    "numberOfConsumerThreads": { "index": 22, "kind": "parameter", "displayName": "Number Of Consumer Threads", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "Number of threads to receive and handle messages when using a se [...]
+    "readCompacted": { "index": 23, "kind": "parameter", "displayName": "Read Compacted", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "Enable compacted topic reading." },
+    "retryLetterTopic": { "index": 24, "kind": "parameter", "displayName": "Retry Letter Topic", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "Name of the topic to use in retry mode. Note: if not set, default topic name will be t [...]
+    "subscriptionInitialPosition": { "index": 25, "kind": "parameter", "displayName": "Subscription Initial Position", "group": "consumer", "label": "consumer", "required": false, "type": "object", "javaType": "org.apache.camel.component.pulsar.utils.consumers.SubscriptionInitialPosition", "enum": [ "EARLIEST", "LATEST" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "LATEST", "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "con [...]
+    "subscriptionName": { "index": 26, "kind": "parameter", "displayName": "Subscription Name", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "subs", "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "Name of the subscription to use" },
+    "subscriptionTopicsMode": { "index": 27, "kind": "parameter", "displayName": "Subscription Topics Mode", "group": "consumer", "label": "consumer", "required": false, "type": "object", "javaType": "org.apache.pulsar.client.api.RegexSubscriptionMode", "enum": [ "PersistentOnly", "NonPersistentOnly", "AllTopics" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "PersistentOnly", "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "co [...]
+    "subscriptionType": { "index": 28, "kind": "parameter", "displayName": "Subscription Type", "group": "consumer", "label": "consumer", "required": false, "type": "object", "javaType": "org.apache.camel.component.pulsar.utils.consumers.SubscriptionType", "enum": [ "EXCLUSIVE", "SHARED", "FAILOVER", "KEY_SHARED" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "EXCLUSIVE", "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configu [...]
+    "topicsPattern": { "index": 29, "kind": "parameter", "displayName": "Topics Pattern", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "Whether the topic is a pattern (regular expression) that allows the consumer t [...]
+    "bridgeErrorHandler": { "index": 30, "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 occurred while the consumer is trying to pickup incoming messages, or the li [...]
+    "exceptionHandler": { "index": 31, "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 de [...]
+    "exchangePattern": { "index": 32, "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." },
+    "batcherBuilder": { "index": 33, "kind": "parameter", "displayName": "Batcher Builder", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.pulsar.client.api.BatcherBuilder", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "DEFAULT", "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "Control batching method used by the p [...]
+    "batchingEnabled": { "index": 34, "kind": "parameter", "displayName": "Batching Enabled", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "Control whether automatic batching of messages is enabled for the producer." },
+    "batchingMaxMessages": { "index": 35, "kind": "parameter", "displayName": "Batching Max Messages", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "The maximum size to batch messages." },
+    "batchingMaxPublishDelayMicros": { "index": 36, "kind": "parameter", "displayName": "Batching Max Publish Delay Micros", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "The maximum time period within which the messag [...]
+    "blockIfQueueFull": { "index": 37, "kind": "parameter", "displayName": "Block If Queue Full", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "Whether to block the producing thread if pending messages queue is ful [...]
+    "chunkingEnabled": { "index": 38, "kind": "parameter", "displayName": "Chunking Enabled", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "Control whether chunking of messages is enabled for the producer." },
+    "compressionType": { "index": 39, "kind": "parameter", "displayName": "Compression Type", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.pulsar.client.api.CompressionType", "enum": [ "NONE", "LZ4", "ZLIB", "ZSTD", "SNAPPY" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "NONE", "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration",  [...]
+    "initialSequenceId": { "index": 40, "kind": "parameter", "displayName": "Initial Sequence Id", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": -1, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "The first message published will have a sequence Id of initialSequenceId 1." },
+    "maxPendingMessages": { "index": 41, "kind": "parameter", "displayName": "Max Pending Messages", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "Size of the pending massages queue. When the queue is full, by default,  [...]
+    "maxPendingMessagesAcrossPartitions": { "index": 42, "kind": "parameter", "displayName": "Max Pending Messages Across Partitions", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": true, "autowired": false, "secret": false, "defaultValue": 50000, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "The maximum number of pending messages [...]
+    "messageRouter": { "index": 43, "kind": "parameter", "displayName": "Message Router", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.pulsar.client.api.MessageRouter", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "Custom Message Router to use" },
+    "messageRoutingMode": { "index": 44, "kind": "parameter", "displayName": "Message Routing Mode", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.pulsar.client.api.MessageRoutingMode", "enum": [ "SinglePartition", "RoundRobinPartition", "CustomPartition" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "RoundRobinPartition", "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration",  [...]
+    "producerName": { "index": 45, "kind": "parameter", "displayName": "Producer Name", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "Name of the producer. If unset, lets Pulsar select a unique identifier." },
+    "sendTimeoutMs": { "index": 46, "kind": "parameter", "displayName": "Send Timeout Ms", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 30000, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "Send timeout in milliseconds" },
+    "lazyStartProducer": { "index": 47, "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-pulsar-starter/src/main/docs/pulsar.json b/components-starter/camel-pulsar-starter/src/main/docs/pulsar.json
index 7ad354456ac..46f6c12d9e3 100644
--- a/components-starter/camel-pulsar-starter/src/main/docs/pulsar.json
+++ b/components-starter/camel-pulsar-starter/src/main/docs/pulsar.json
@@ -157,6 +157,13 @@
       "description": "Name of the topic where the messages which fail maxRedeliverCount times will be sent. Note: if not set, default topic name will be topicName-subscriptionName-DLQ",
       "sourceType": "org.apache.camel.component.pulsar.springboot.PulsarComponentConfiguration"
     },
+    {
+      "name": "camel.component.pulsar.enable-retry",
+      "type": "java.lang.Boolean",
+      "description": "To enable retry letter topic mode. The default retry letter topic uses this format: topicname-subscriptionname-RETRY",
+      "sourceType": "org.apache.camel.component.pulsar.springboot.PulsarComponentConfiguration",
+      "defaultValue": false
+    },
     {
       "name": "camel.component.pulsar.enabled",
       "type": "java.lang.Boolean",
@@ -267,6 +274,12 @@
       "sourceType": "org.apache.camel.component.pulsar.springboot.PulsarComponentConfiguration",
       "defaultValue": false
     },
+    {
+      "name": "camel.component.pulsar.retry-letter-topic",
+      "type": "java.lang.String",
+      "description": "Name of the topic to use in retry mode. Note: if not set, default topic name will be topicName-subscriptionName-RETRY",
+      "sourceType": "org.apache.camel.component.pulsar.springboot.PulsarComponentConfiguration"
+    },
     {
       "name": "camel.component.pulsar.send-timeout-ms",
       "type": "java.lang.Integer",
diff --git a/components-starter/camel-pulsar-starter/src/main/java/org/apache/camel/component/pulsar/springboot/PulsarComponentConfiguration.java b/components-starter/camel-pulsar-starter/src/main/java/org/apache/camel/component/pulsar/springboot/PulsarComponentConfiguration.java
index c301ef0fcde..f7d91fc11e3 100644
--- a/components-starter/camel-pulsar-starter/src/main/java/org/apache/camel/component/pulsar/springboot/PulsarComponentConfiguration.java
+++ b/components-starter/camel-pulsar-starter/src/main/java/org/apache/camel/component/pulsar/springboot/PulsarComponentConfiguration.java
@@ -118,6 +118,11 @@ public class PulsarComponentConfiguration
      * topicName-subscriptionName-DLQ
      */
     private String deadLetterTopic;
+    /**
+     * To enable retry letter topic mode. The default retry letter topic uses
+     * this format: topicname-subscriptionname-RETRY
+     */
+    private Boolean enableRetry = false;
     /**
      * Policy to use by consumer when using key-shared subscription type.
      */
@@ -155,6 +160,11 @@ public class PulsarComponentConfiguration
      * Enable compacted topic reading.
      */
     private Boolean readCompacted = false;
+    /**
+     * Name of the topic to use in retry mode. Note: if not set, default topic
+     * name will be topicName-subscriptionName-RETRY
+     */
+    private String retryLetterTopic;
     /**
      * Control the initial position in the topic of a newly created
      * subscription. Default is latest message.
@@ -389,6 +399,14 @@ public class PulsarComponentConfiguration
         this.deadLetterTopic = deadLetterTopic;
     }
 
+    public Boolean getEnableRetry() {
+        return enableRetry;
+    }
+
+    public void setEnableRetry(Boolean enableRetry) {
+        this.enableRetry = enableRetry;
+    }
+
     public String getKeySharedPolicy() {
         return keySharedPolicy;
     }
@@ -455,6 +473,14 @@ public class PulsarComponentConfiguration
         this.readCompacted = readCompacted;
     }
 
+    public String getRetryLetterTopic() {
+        return retryLetterTopic;
+    }
+
+    public void setRetryLetterTopic(String retryLetterTopic) {
+        this.retryLetterTopic = retryLetterTopic;
+    }
+
     public SubscriptionInitialPosition getSubscriptionInitialPosition() {
         return subscriptionInitialPosition;
     }