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

davsclaus pushed a commit to branch camel-4.4.x
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/camel-4.4.x by this push:
     new 726dc550b0f CAMEL-20596: Propagate Azure Service Bus message headers 
to/from Camel Message (#13592)
726dc550b0f is described below

commit 726dc550b0ff626febc2e33b0cdab79092d4a5ad
Author: Dylan Piergies <[email protected]>
AuthorDate: Fri Mar 22 16:02:21 2024 +0000

    CAMEL-20596: Propagate Azure Service Bus message headers to/from Camel 
Message (#13592)
    
    Service Bus message application properties (a.k.a. custom headers) are now
    propagated to/from the Camel message, with the option to use a custom
    `HeaderFilterStrategy`.
---
 .../camel/catalog/components/azure-servicebus.json | 100 +++++++++++----------
 .../servicebus/ServiceBusComponentConfigurer.java  |   6 ++
 .../servicebus/ServiceBusEndpointConfigurer.java   |   6 ++
 .../servicebus/ServiceBusEndpointUriFactory.java   |   3 +-
 .../azure/servicebus/azure-servicebus.json         | 100 +++++++++++----------
 .../azure/servicebus/ServiceBusConfiguration.java  |  22 +++--
 .../azure/servicebus/ServiceBusConsumer.java       |   8 ++
 .../azure/servicebus/ServiceBusProducer.java       |  31 +++++--
 .../kotlin/components/AzureServicebusUriDsl.kt     |   4 +
 9 files changed, 169 insertions(+), 111 deletions(-)

diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/azure-servicebus.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/azure-servicebus.json
index e28ab7e0734..6ddc943e251 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/azure-servicebus.json
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/azure-servicebus.json
@@ -27,30 +27,31 @@
     "amqpTransportType": { "index": 1, "kind": "property", "displayName": 
"Amqp Transport Type", "group": "common", "label": "common", "required": false, 
"type": "object", "javaType": "com.azure.core.amqp.AmqpTransportType", "enum": 
[ "Amqp", "AmqpWebSockets" ], "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": "AMQP", "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description":  [...]
     "clientOptions": { "index": 2, "kind": "property", "displayName": "Client 
Options", "group": "common", "label": "common", "required": false, "type": 
"object", "javaType": "com.azure.core.util.ClientOptions", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets the ClientOptions 
to be sent from the client built from this builder, [...]
     "configuration": { "index": 3, "kind": "property", "displayName": 
"Configuration", "group": "common", "label": "", "required": false, "type": 
"object", "javaType": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"deprecated": false, "autowired": false, "secret": false, "description": "The 
component configurations" },
-    "proxyOptions": { "index": 4, "kind": "property", "displayName": "Proxy 
Options", "group": "common", "label": "common", "required": false, "type": 
"object", "javaType": "com.azure.core.amqp.ProxyOptions", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets the proxy 
configuration to use for ServiceBusSenderAsyncClient. When a p [...]
-    "serviceBusType": { "index": 5, "kind": "property", "displayName": 
"Service Bus Type", "group": "common", "label": "common", "required": true, 
"type": "object", "javaType": 
"org.apache.camel.component.azure.servicebus.ServiceBusType", "enum": [ 
"queue", "topic" ], "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": "queue", "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "c [...]
-    "bridgeErrorHandler": { "index": 6, "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 [...]
-    "consumerOperation": { "index": 7, "kind": "property", "displayName": 
"Consumer Operation", "group": "consumer", "label": "consumer", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.component.azure.servicebus.ServiceBusConsumerOperationDefinition",
 "enum": [ "receiveMessages", "peekMessages" ], "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "receiveMessages", 
"configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusCon [...]
-    "disableAutoComplete": { "index": 8, "kind": "property", "displayName": 
"Disable Auto Complete", "group": "consumer", "label": "consumer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, 
"configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Disables auto-complete 
and auto-abandon of received message [...]
-    "maxAutoLockRenewDuration": { "index": 9, "kind": "property", 
"displayName": "Max Auto Lock Renew Duration", "group": "consumer", "label": 
"consumer", "required": false, "type": "object", "javaType": 
"java.time.Duration", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": "5m", "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets the amount of time 
to continue au [...]
-    "peekNumMaxMessages": { "index": 10, "kind": "property", "displayName": 
"Peek Num Max Messages", "group": "consumer", "label": "consumer", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Set the max number of 
messages to be peeked during the peek operation." },
-    "prefetchCount": { "index": 11, "kind": "property", "displayName": 
"Prefetch Count", "group": "consumer", "label": "consumer", "required": false, 
"type": "integer", "javaType": "int", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets the prefetch count 
of the receiver. For both PEEK_LOCK PEEK_LOCK and RECEIVE_AND_DELETE RECEI [...]
-    "receiverAsyncClient": { "index": 12, "kind": "property", "displayName": 
"Receiver Async Client", "group": "consumer", "label": "consumer", "required": 
false, "type": "object", "javaType": 
"com.azure.messaging.servicebus.ServiceBusReceiverAsyncClient", "deprecated": 
false, "deprecationNote": "", "autowired": true, "secret": false, 
"configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets th [...]
-    "serviceBusReceiveMode": { "index": 13, "kind": "property", "displayName": 
"Service Bus Receive Mode", "group": "consumer", "label": "consumer", 
"required": false, "type": "object", "javaType": 
"com.azure.messaging.servicebus.models.ServiceBusReceiveMode", "enum": [ 
"PEEK_LOCK", "RECEIVE_AND_DELETE" ], "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": "PEEK_LOCK", "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", "con 
[...]
-    "subQueue": { "index": 14, "kind": "property", "displayName": "Sub Queue", 
"group": "consumer", "label": "consumer", "required": false, "type": "object", 
"javaType": "com.azure.messaging.servicebus.models.SubQueue", "enum": [ "NONE", 
"DEAD_LETTER_QUEUE", "TRANSFER_DEAD_LETTER_QUEUE" ], "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "descriptio [...]
-    "subscriptionName": { "index": 15, "kind": "property", "displayName": 
"Subscription Name", "group": "consumer", "label": "consumer", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets the name of the 
subscription in the topic to listen to. topicOrQueueName an [...]
-    "reconnectDelay": { "index": 16, "kind": "property", "displayName": 
"Reconnect Delay", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "integer", "javaType": "int", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 5000, 
"configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "If the consumer has 
connection failure to Azure Servic [...]
-    "binary": { "index": 17, "kind": "property", "displayName": "Binary", 
"group": "producer", "label": "producer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Set binary mode. If 
true, message body will be sent as byte. By default, it is false." },
-    "lazyStartProducer": { "index": 18, "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 [...]
-    "producerOperation": { "index": 19, "kind": "property", "displayName": 
"Producer Operation", "group": "producer", "label": "producer", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.component.azure.servicebus.ServiceBusProducerOperationDefinition",
 "enum": [ "sendMessages", "scheduleMessages" ], "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "sendMessages", 
"configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConf [...]
-    "scheduledEnqueueTime": { "index": 20, "kind": "property", "displayName": 
"Scheduled Enqueue Time", "group": "producer", "label": "producer", "required": 
false, "type": "object", "javaType": "java.time.OffsetDateTime", "deprecated": 
false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets OffsetDateTime at 
which the message should appear in the S [...]
-    "senderAsyncClient": { "index": 21, "kind": "property", "displayName": 
"Sender Async Client", "group": "producer", "label": "producer", "required": 
false, "type": "object", "javaType": 
"com.azure.messaging.servicebus.ServiceBusSenderAsyncClient", "deprecated": 
false, "deprecationNote": "", "autowired": true, "secret": false, 
"configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets SenderAs [...]
-    "serviceBusTransactionContext": { "index": 22, "kind": "property", 
"displayName": "Service Bus Transaction Context", "group": "producer", "label": 
"producer", "required": false, "type": "object", "javaType": 
"com.azure.messaging.servicebus.ServiceBusTransactionContext", "deprecated": 
false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Represents  [...]
-    "autowiredEnabled": { "index": 23, "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  [...]
-    "connectionString": { "index": 24, "kind": "property", "displayName": 
"Connection String", "group": "security", "label": "security", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": true, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets the connection 
string for a Service Bus namespace or a specific Service Bus  [...]
-    "credentialType": { "index": 25, "kind": "property", "displayName": 
"Credential Type", "group": "security", "label": "security", "required": false, 
"type": "object", "javaType": 
"org.apache.camel.component.azure.servicebus.CredentialType", "enum": [ 
"AZURE_IDENTITY", "CONNECTION_STRING", "TOKEN_CREDENTIAL" ], "deprecated": 
false, "autowired": false, "secret": false, "defaultValue": 
"CONNECTION_STRING", "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfi [...]
-    "fullyQualifiedNamespace": { "index": 26, "kind": "property", 
"displayName": "Fully Qualified Namespace", "group": "security", "label": 
"security", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Fully Qualified 
Namespace of the service bus" },
-    "tokenCredential": { "index": 27, "kind": "property", "displayName": 
"Token Credential", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"com.azure.core.credential.TokenCredential", "deprecated": false, "autowired": 
false, "secret": true, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "A TokenCredential for 
Azure AD authentication." }
+    "headerFilterStrategy": { "index": 4, "kind": "property", "displayName": 
"Header Filter Strategy", "group": "common", "label": "common", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "To use a custom 
HeaderFilterStrategy to filter Serv [...]
+    "proxyOptions": { "index": 5, "kind": "property", "displayName": "Proxy 
Options", "group": "common", "label": "common", "required": false, "type": 
"object", "javaType": "com.azure.core.amqp.ProxyOptions", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets the proxy 
configuration to use for ServiceBusSenderAsyncClient. When a p [...]
+    "serviceBusType": { "index": 6, "kind": "property", "displayName": 
"Service Bus Type", "group": "common", "label": "common", "required": true, 
"type": "object", "javaType": 
"org.apache.camel.component.azure.servicebus.ServiceBusType", "enum": [ 
"queue", "topic" ], "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": "queue", "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "c [...]
+    "bridgeErrorHandler": { "index": 7, "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 [...]
+    "consumerOperation": { "index": 8, "kind": "property", "displayName": 
"Consumer Operation", "group": "consumer", "label": "consumer", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.component.azure.servicebus.ServiceBusConsumerOperationDefinition",
 "enum": [ "receiveMessages", "peekMessages" ], "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "receiveMessages", 
"configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusCon [...]
+    "disableAutoComplete": { "index": 9, "kind": "property", "displayName": 
"Disable Auto Complete", "group": "consumer", "label": "consumer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, 
"configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Disables auto-complete 
and auto-abandon of received message [...]
+    "maxAutoLockRenewDuration": { "index": 10, "kind": "property", 
"displayName": "Max Auto Lock Renew Duration", "group": "consumer", "label": 
"consumer", "required": false, "type": "object", "javaType": 
"java.time.Duration", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": "5m", "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets the amount of time 
to continue a [...]
+    "peekNumMaxMessages": { "index": 11, "kind": "property", "displayName": 
"Peek Num Max Messages", "group": "consumer", "label": "consumer", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Set the max number of 
messages to be peeked during the peek operation." },
+    "prefetchCount": { "index": 12, "kind": "property", "displayName": 
"Prefetch Count", "group": "consumer", "label": "consumer", "required": false, 
"type": "integer", "javaType": "int", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets the prefetch count 
of the receiver. For both PEEK_LOCK PEEK_LOCK and RECEIVE_AND_DELETE RECEI [...]
+    "receiverAsyncClient": { "index": 13, "kind": "property", "displayName": 
"Receiver Async Client", "group": "consumer", "label": "consumer", "required": 
false, "type": "object", "javaType": 
"com.azure.messaging.servicebus.ServiceBusReceiverAsyncClient", "deprecated": 
false, "deprecationNote": "", "autowired": true, "secret": false, 
"configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets th [...]
+    "serviceBusReceiveMode": { "index": 14, "kind": "property", "displayName": 
"Service Bus Receive Mode", "group": "consumer", "label": "consumer", 
"required": false, "type": "object", "javaType": 
"com.azure.messaging.servicebus.models.ServiceBusReceiveMode", "enum": [ 
"PEEK_LOCK", "RECEIVE_AND_DELETE" ], "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": "PEEK_LOCK", "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", "con 
[...]
+    "subQueue": { "index": 15, "kind": "property", "displayName": "Sub Queue", 
"group": "consumer", "label": "consumer", "required": false, "type": "object", 
"javaType": "com.azure.messaging.servicebus.models.SubQueue", "enum": [ "NONE", 
"DEAD_LETTER_QUEUE", "TRANSFER_DEAD_LETTER_QUEUE" ], "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "descriptio [...]
+    "subscriptionName": { "index": 16, "kind": "property", "displayName": 
"Subscription Name", "group": "consumer", "label": "consumer", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets the name of the 
subscription in the topic to listen to. topicOrQueueName an [...]
+    "reconnectDelay": { "index": 17, "kind": "property", "displayName": 
"Reconnect Delay", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "integer", "javaType": "int", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 5000, 
"configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "If the consumer has 
connection failure to Azure Servic [...]
+    "binary": { "index": 18, "kind": "property", "displayName": "Binary", 
"group": "producer", "label": "producer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Set binary mode. If 
true, message body will be sent as byte. By default, it is false." },
+    "lazyStartProducer": { "index": 19, "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 [...]
+    "producerOperation": { "index": 20, "kind": "property", "displayName": 
"Producer Operation", "group": "producer", "label": "producer", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.component.azure.servicebus.ServiceBusProducerOperationDefinition",
 "enum": [ "sendMessages", "scheduleMessages" ], "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "sendMessages", 
"configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConf [...]
+    "scheduledEnqueueTime": { "index": 21, "kind": "property", "displayName": 
"Scheduled Enqueue Time", "group": "producer", "label": "producer", "required": 
false, "type": "object", "javaType": "java.time.OffsetDateTime", "deprecated": 
false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets OffsetDateTime at 
which the message should appear in the S [...]
+    "senderAsyncClient": { "index": 22, "kind": "property", "displayName": 
"Sender Async Client", "group": "producer", "label": "producer", "required": 
false, "type": "object", "javaType": 
"com.azure.messaging.servicebus.ServiceBusSenderAsyncClient", "deprecated": 
false, "deprecationNote": "", "autowired": true, "secret": false, 
"configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets SenderAs [...]
+    "serviceBusTransactionContext": { "index": 23, "kind": "property", 
"displayName": "Service Bus Transaction Context", "group": "producer", "label": 
"producer", "required": false, "type": "object", "javaType": 
"com.azure.messaging.servicebus.ServiceBusTransactionContext", "deprecated": 
false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Represents  [...]
+    "autowiredEnabled": { "index": 24, "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  [...]
+    "connectionString": { "index": 25, "kind": "property", "displayName": 
"Connection String", "group": "security", "label": "security", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": true, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets the connection 
string for a Service Bus namespace or a specific Service Bus  [...]
+    "credentialType": { "index": 26, "kind": "property", "displayName": 
"Credential Type", "group": "security", "label": "security", "required": false, 
"type": "object", "javaType": 
"org.apache.camel.component.azure.servicebus.CredentialType", "enum": [ 
"AZURE_IDENTITY", "CONNECTION_STRING", "TOKEN_CREDENTIAL" ], "deprecated": 
false, "autowired": false, "secret": false, "defaultValue": 
"CONNECTION_STRING", "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfi [...]
+    "fullyQualifiedNamespace": { "index": 27, "kind": "property", 
"displayName": "Fully Qualified Namespace", "group": "security", "label": 
"security", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Fully Qualified 
Namespace of the service bus" },
+    "tokenCredential": { "index": 28, "kind": "property", "displayName": 
"Token Credential", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"com.azure.core.credential.TokenCredential", "deprecated": false, "autowired": 
false, "secret": true, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "A TokenCredential for 
Azure AD authentication." }
   },
   "headers": {
     "CamelAzureServiceBusApplicationProperties": { "index": 0, "kind": 
"header", "displayName": "", "group": "common", "label": "common", "required": 
false, "javaType": "Map<String, Object>", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "description": "The 
application properties (also known as custom properties) on messages sent and 
received by the producer and consumer, respectively.", "constantName": 
"org.apache.camel.component.azure.servicebus.Servi [...]
@@ -84,30 +85,31 @@
     "amqpRetryOptions": { "index": 1, "kind": "parameter", "displayName": 
"Amqp Retry Options", "group": "common", "label": "common", "required": false, 
"type": "object", "javaType": "com.azure.core.amqp.AmqpRetryOptions", 
"deprecated": false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets the retry options 
for Service Bus clients. If not specifie [...]
     "amqpTransportType": { "index": 2, "kind": "parameter", "displayName": 
"Amqp Transport Type", "group": "common", "label": "common", "required": false, 
"type": "object", "javaType": "com.azure.core.amqp.AmqpTransportType", "enum": 
[ "Amqp", "AmqpWebSockets" ], "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": "AMQP", "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": [...]
     "clientOptions": { "index": 3, "kind": "parameter", "displayName": "Client 
Options", "group": "common", "label": "common", "required": false, "type": 
"object", "javaType": "com.azure.core.util.ClientOptions", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets the ClientOptions 
to be sent from the client built from this builder [...]
-    "proxyOptions": { "index": 4, "kind": "parameter", "displayName": "Proxy 
Options", "group": "common", "label": "common", "required": false, "type": 
"object", "javaType": "com.azure.core.amqp.ProxyOptions", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets the proxy 
configuration to use for ServiceBusSenderAsyncClient. When a  [...]
-    "serviceBusType": { "index": 5, "kind": "parameter", "displayName": 
"Service Bus Type", "group": "common", "label": "common", "required": true, 
"type": "object", "javaType": 
"org.apache.camel.component.azure.servicebus.ServiceBusType", "enum": [ 
"queue", "topic" ], "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": "queue", "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": " [...]
-    "consumerOperation": { "index": 6, "kind": "parameter", "displayName": 
"Consumer Operation", "group": "consumer", "label": "consumer", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.component.azure.servicebus.ServiceBusConsumerOperationDefinition",
 "enum": [ "receiveMessages", "peekMessages" ], "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "receiveMessages", 
"configurationClass": "org.apache.camel.component.azure.servicebus.ServiceBusCo 
[...]
-    "disableAutoComplete": { "index": 7, "kind": "parameter", "displayName": 
"Disable Auto Complete", "group": "consumer", "label": "consumer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, 
"configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Disables auto-complete 
and auto-abandon of received messag [...]
-    "maxAutoLockRenewDuration": { "index": 8, "kind": "parameter", 
"displayName": "Max Auto Lock Renew Duration", "group": "consumer", "label": 
"consumer", "required": false, "type": "object", "javaType": 
"java.time.Duration", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": "5m", "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets the amount of time 
to continue a [...]
-    "peekNumMaxMessages": { "index": 9, "kind": "parameter", "displayName": 
"Peek Num Max Messages", "group": "consumer", "label": "consumer", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Set the max number of 
messages to be peeked during the peek operation." },
-    "prefetchCount": { "index": 10, "kind": "parameter", "displayName": 
"Prefetch Count", "group": "consumer", "label": "consumer", "required": false, 
"type": "integer", "javaType": "int", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets the prefetch count 
of the receiver. For both PEEK_LOCK PEEK_LOCK and RECEIVE_AND_DELETE RECE [...]
-    "receiverAsyncClient": { "index": 11, "kind": "parameter", "displayName": 
"Receiver Async Client", "group": "consumer", "label": "consumer", "required": 
false, "type": "object", "javaType": 
"com.azure.messaging.servicebus.ServiceBusReceiverAsyncClient", "deprecated": 
false, "deprecationNote": "", "autowired": true, "secret": false, 
"configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets t [...]
-    "serviceBusReceiveMode": { "index": 12, "kind": "parameter", 
"displayName": "Service Bus Receive Mode", "group": "consumer", "label": 
"consumer", "required": false, "type": "object", "javaType": 
"com.azure.messaging.servicebus.models.ServiceBusReceiveMode", "enum": [ 
"PEEK_LOCK", "RECEIVE_AND_DELETE" ], "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": "PEEK_LOCK", "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", "co [...]
-    "subQueue": { "index": 13, "kind": "parameter", "displayName": "Sub 
Queue", "group": "consumer", "label": "consumer", "required": false, "type": 
"object", "javaType": "com.azure.messaging.servicebus.models.SubQueue", "enum": 
[ "NONE", "DEAD_LETTER_QUEUE", "TRANSFER_DEAD_LETTER_QUEUE" ], "deprecated": 
false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "descripti [...]
-    "subscriptionName": { "index": 14, "kind": "parameter", "displayName": 
"Subscription Name", "group": "consumer", "label": "consumer", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets the name of the 
subscription in the topic to listen to. topicOrQueueName a [...]
-    "bridgeErrorHandler": { "index": 15, "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": 16, "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": 17, "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." },
-    "reconnectDelay": { "index": 18, "kind": "parameter", "displayName": 
"Reconnect Delay", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "integer", "javaType": "int", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 5000, 
"configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "If the consumer has 
connection failure to Azure Servi [...]
-    "binary": { "index": 19, "kind": "parameter", "displayName": "Binary", 
"group": "producer", "label": "producer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Set binary mode. If 
true, message body will be sent as byte. By default, it is false." },
-    "producerOperation": { "index": 20, "kind": "parameter", "displayName": 
"Producer Operation", "group": "producer", "label": "producer", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.component.azure.servicebus.ServiceBusProducerOperationDefinition",
 "enum": [ "sendMessages", "scheduleMessages" ], "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "sendMessages", 
"configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusCon [...]
-    "scheduledEnqueueTime": { "index": 21, "kind": "parameter", "displayName": 
"Scheduled Enqueue Time", "group": "producer", "label": "producer", "required": 
false, "type": "object", "javaType": "java.time.OffsetDateTime", "deprecated": 
false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets OffsetDateTime at 
which the message should appear in the  [...]
-    "senderAsyncClient": { "index": 22, "kind": "parameter", "displayName": 
"Sender Async Client", "group": "producer", "label": "producer", "required": 
false, "type": "object", "javaType": 
"com.azure.messaging.servicebus.ServiceBusSenderAsyncClient", "deprecated": 
false, "deprecationNote": "", "autowired": true, "secret": false, 
"configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets SenderA [...]
-    "serviceBusTransactionContext": { "index": 23, "kind": "parameter", 
"displayName": "Service Bus Transaction Context", "group": "producer", "label": 
"producer", "required": false, "type": "object", "javaType": 
"com.azure.messaging.servicebus.ServiceBusTransactionContext", "deprecated": 
false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Represents [...]
-    "lazyStartProducer": { "index": 24, "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 [...]
-    "connectionString": { "index": 25, "kind": "parameter", "displayName": 
"Connection String", "group": "security", "label": "security", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": true, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets the connection 
string for a Service Bus namespace or a specific Service Bus [...]
-    "credentialType": { "index": 26, "kind": "parameter", "displayName": 
"Credential Type", "group": "security", "label": "security", "required": false, 
"type": "object", "javaType": 
"org.apache.camel.component.azure.servicebus.CredentialType", "enum": [ 
"AZURE_IDENTITY", "CONNECTION_STRING", "TOKEN_CREDENTIAL" ], "deprecated": 
false, "autowired": false, "secret": false, "defaultValue": 
"CONNECTION_STRING", "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConf [...]
-    "fullyQualifiedNamespace": { "index": 27, "kind": "parameter", 
"displayName": "Fully Qualified Namespace", "group": "security", "label": 
"security", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Fully Qualified 
Namespace of the service bus" },
-    "tokenCredential": { "index": 28, "kind": "parameter", "displayName": 
"Token Credential", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"com.azure.core.credential.TokenCredential", "deprecated": false, "autowired": 
false, "secret": true, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "A TokenCredential for 
Azure AD authentication." }
+    "headerFilterStrategy": { "index": 4, "kind": "parameter", "displayName": 
"Header Filter Strategy", "group": "common", "label": "common", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "To use a custom 
HeaderFilterStrategy to filter Ser [...]
+    "proxyOptions": { "index": 5, "kind": "parameter", "displayName": "Proxy 
Options", "group": "common", "label": "common", "required": false, "type": 
"object", "javaType": "com.azure.core.amqp.ProxyOptions", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets the proxy 
configuration to use for ServiceBusSenderAsyncClient. When a  [...]
+    "serviceBusType": { "index": 6, "kind": "parameter", "displayName": 
"Service Bus Type", "group": "common", "label": "common", "required": true, 
"type": "object", "javaType": 
"org.apache.camel.component.azure.servicebus.ServiceBusType", "enum": [ 
"queue", "topic" ], "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": "queue", "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": " [...]
+    "consumerOperation": { "index": 7, "kind": "parameter", "displayName": 
"Consumer Operation", "group": "consumer", "label": "consumer", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.component.azure.servicebus.ServiceBusConsumerOperationDefinition",
 "enum": [ "receiveMessages", "peekMessages" ], "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "receiveMessages", 
"configurationClass": "org.apache.camel.component.azure.servicebus.ServiceBusCo 
[...]
+    "disableAutoComplete": { "index": 8, "kind": "parameter", "displayName": 
"Disable Auto Complete", "group": "consumer", "label": "consumer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, 
"configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Disables auto-complete 
and auto-abandon of received messag [...]
+    "maxAutoLockRenewDuration": { "index": 9, "kind": "parameter", 
"displayName": "Max Auto Lock Renew Duration", "group": "consumer", "label": 
"consumer", "required": false, "type": "object", "javaType": 
"java.time.Duration", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": "5m", "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets the amount of time 
to continue a [...]
+    "peekNumMaxMessages": { "index": 10, "kind": "parameter", "displayName": 
"Peek Num Max Messages", "group": "consumer", "label": "consumer", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Set the max number of 
messages to be peeked during the peek operation." },
+    "prefetchCount": { "index": 11, "kind": "parameter", "displayName": 
"Prefetch Count", "group": "consumer", "label": "consumer", "required": false, 
"type": "integer", "javaType": "int", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets the prefetch count 
of the receiver. For both PEEK_LOCK PEEK_LOCK and RECEIVE_AND_DELETE RECE [...]
+    "receiverAsyncClient": { "index": 12, "kind": "parameter", "displayName": 
"Receiver Async Client", "group": "consumer", "label": "consumer", "required": 
false, "type": "object", "javaType": 
"com.azure.messaging.servicebus.ServiceBusReceiverAsyncClient", "deprecated": 
false, "deprecationNote": "", "autowired": true, "secret": false, 
"configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets t [...]
+    "serviceBusReceiveMode": { "index": 13, "kind": "parameter", 
"displayName": "Service Bus Receive Mode", "group": "consumer", "label": 
"consumer", "required": false, "type": "object", "javaType": 
"com.azure.messaging.servicebus.models.ServiceBusReceiveMode", "enum": [ 
"PEEK_LOCK", "RECEIVE_AND_DELETE" ], "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": "PEEK_LOCK", "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", "co [...]
+    "subQueue": { "index": 14, "kind": "parameter", "displayName": "Sub 
Queue", "group": "consumer", "label": "consumer", "required": false, "type": 
"object", "javaType": "com.azure.messaging.servicebus.models.SubQueue", "enum": 
[ "NONE", "DEAD_LETTER_QUEUE", "TRANSFER_DEAD_LETTER_QUEUE" ], "deprecated": 
false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "descripti [...]
+    "subscriptionName": { "index": 15, "kind": "parameter", "displayName": 
"Subscription Name", "group": "consumer", "label": "consumer", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets the name of the 
subscription in the topic to listen to. topicOrQueueName a [...]
+    "bridgeErrorHandler": { "index": 16, "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": 17, "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": 18, "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." },
+    "reconnectDelay": { "index": 19, "kind": "parameter", "displayName": 
"Reconnect Delay", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "integer", "javaType": "int", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 5000, 
"configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "If the consumer has 
connection failure to Azure Servi [...]
+    "binary": { "index": 20, "kind": "parameter", "displayName": "Binary", 
"group": "producer", "label": "producer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Set binary mode. If 
true, message body will be sent as byte. By default, it is false." },
+    "producerOperation": { "index": 21, "kind": "parameter", "displayName": 
"Producer Operation", "group": "producer", "label": "producer", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.component.azure.servicebus.ServiceBusProducerOperationDefinition",
 "enum": [ "sendMessages", "scheduleMessages" ], "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "sendMessages", 
"configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusCon [...]
+    "scheduledEnqueueTime": { "index": 22, "kind": "parameter", "displayName": 
"Scheduled Enqueue Time", "group": "producer", "label": "producer", "required": 
false, "type": "object", "javaType": "java.time.OffsetDateTime", "deprecated": 
false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets OffsetDateTime at 
which the message should appear in the  [...]
+    "senderAsyncClient": { "index": 23, "kind": "parameter", "displayName": 
"Sender Async Client", "group": "producer", "label": "producer", "required": 
false, "type": "object", "javaType": 
"com.azure.messaging.servicebus.ServiceBusSenderAsyncClient", "deprecated": 
false, "deprecationNote": "", "autowired": true, "secret": false, 
"configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets SenderA [...]
+    "serviceBusTransactionContext": { "index": 24, "kind": "parameter", 
"displayName": "Service Bus Transaction Context", "group": "producer", "label": 
"producer", "required": false, "type": "object", "javaType": 
"com.azure.messaging.servicebus.ServiceBusTransactionContext", "deprecated": 
false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Represents [...]
+    "lazyStartProducer": { "index": 25, "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 [...]
+    "connectionString": { "index": 26, "kind": "parameter", "displayName": 
"Connection String", "group": "security", "label": "security", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": true, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets the connection 
string for a Service Bus namespace or a specific Service Bus [...]
+    "credentialType": { "index": 27, "kind": "parameter", "displayName": 
"Credential Type", "group": "security", "label": "security", "required": false, 
"type": "object", "javaType": 
"org.apache.camel.component.azure.servicebus.CredentialType", "enum": [ 
"AZURE_IDENTITY", "CONNECTION_STRING", "TOKEN_CREDENTIAL" ], "deprecated": 
false, "autowired": false, "secret": false, "defaultValue": 
"CONNECTION_STRING", "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConf [...]
+    "fullyQualifiedNamespace": { "index": 28, "kind": "parameter", 
"displayName": "Fully Qualified Namespace", "group": "security", "label": 
"security", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Fully Qualified 
Namespace of the service bus" },
+    "tokenCredential": { "index": 29, "kind": "parameter", "displayName": 
"Token Credential", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"com.azure.core.credential.TokenCredential", "deprecated": false, "autowired": 
false, "secret": true, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "A TokenCredential for 
Azure AD authentication." }
   }
 }
diff --git 
a/components/camel-azure/camel-azure-servicebus/src/generated/java/org/apache/camel/component/azure/servicebus/ServiceBusComponentConfigurer.java
 
b/components/camel-azure/camel-azure-servicebus/src/generated/java/org/apache/camel/component/azure/servicebus/ServiceBusComponentConfigurer.java
index c322856c874..06262ba6b12 100644
--- 
a/components/camel-azure/camel-azure-servicebus/src/generated/java/org/apache/camel/component/azure/servicebus/ServiceBusComponentConfigurer.java
+++ 
b/components/camel-azure/camel-azure-servicebus/src/generated/java/org/apache/camel/component/azure/servicebus/ServiceBusComponentConfigurer.java
@@ -50,6 +50,8 @@ public class ServiceBusComponentConfigurer extends 
PropertyConfigurerSupport imp
         case "disableAutoComplete": 
getOrCreateConfiguration(target).setDisableAutoComplete(property(camelContext, 
boolean.class, value)); return true;
         case "fullyqualifiednamespace":
         case "fullyQualifiedNamespace": 
getOrCreateConfiguration(target).setFullyQualifiedNamespace(property(camelContext,
 java.lang.String.class, value)); return true;
+        case "headerfilterstrategy":
+        case "headerFilterStrategy": 
getOrCreateConfiguration(target).setHeaderFilterStrategy(property(camelContext, 
org.apache.camel.spi.HeaderFilterStrategy.class, value)); return true;
         case "lazystartproducer":
         case "lazyStartProducer": 
target.setLazyStartProducer(property(camelContext, boolean.class, value)); 
return true;
         case "maxautolockrenewduration":
@@ -116,6 +118,8 @@ public class ServiceBusComponentConfigurer extends 
PropertyConfigurerSupport imp
         case "disableAutoComplete": return boolean.class;
         case "fullyqualifiednamespace":
         case "fullyQualifiedNamespace": return java.lang.String.class;
+        case "headerfilterstrategy":
+        case "headerFilterStrategy": return 
org.apache.camel.spi.HeaderFilterStrategy.class;
         case "lazystartproducer":
         case "lazyStartProducer": return boolean.class;
         case "maxautolockrenewduration":
@@ -178,6 +182,8 @@ public class ServiceBusComponentConfigurer extends 
PropertyConfigurerSupport imp
         case "disableAutoComplete": return 
getOrCreateConfiguration(target).isDisableAutoComplete();
         case "fullyqualifiednamespace":
         case "fullyQualifiedNamespace": return 
getOrCreateConfiguration(target).getFullyQualifiedNamespace();
+        case "headerfilterstrategy":
+        case "headerFilterStrategy": return 
getOrCreateConfiguration(target).getHeaderFilterStrategy();
         case "lazystartproducer":
         case "lazyStartProducer": return target.isLazyStartProducer();
         case "maxautolockrenewduration":
diff --git 
a/components/camel-azure/camel-azure-servicebus/src/generated/java/org/apache/camel/component/azure/servicebus/ServiceBusEndpointConfigurer.java
 
b/components/camel-azure/camel-azure-servicebus/src/generated/java/org/apache/camel/component/azure/servicebus/ServiceBusEndpointConfigurer.java
index d2501cd900b..e5becfe38c8 100644
--- 
a/components/camel-azure/camel-azure-servicebus/src/generated/java/org/apache/camel/component/azure/servicebus/ServiceBusEndpointConfigurer.java
+++ 
b/components/camel-azure/camel-azure-servicebus/src/generated/java/org/apache/camel/component/azure/servicebus/ServiceBusEndpointConfigurer.java
@@ -44,6 +44,8 @@ public class ServiceBusEndpointConfigurer extends 
PropertyConfigurerSupport impl
         case "exchangePattern": 
target.setExchangePattern(property(camelContext, 
org.apache.camel.ExchangePattern.class, value)); return true;
         case "fullyqualifiednamespace":
         case "fullyQualifiedNamespace": 
target.getConfiguration().setFullyQualifiedNamespace(property(camelContext, 
java.lang.String.class, value)); return true;
+        case "headerfilterstrategy":
+        case "headerFilterStrategy": 
target.getConfiguration().setHeaderFilterStrategy(property(camelContext, 
org.apache.camel.spi.HeaderFilterStrategy.class, value)); return true;
         case "lazystartproducer":
         case "lazyStartProducer": 
target.setLazyStartProducer(property(camelContext, boolean.class, value)); 
return true;
         case "maxautolockrenewduration":
@@ -111,6 +113,8 @@ public class ServiceBusEndpointConfigurer extends 
PropertyConfigurerSupport impl
         case "exchangePattern": return org.apache.camel.ExchangePattern.class;
         case "fullyqualifiednamespace":
         case "fullyQualifiedNamespace": return java.lang.String.class;
+        case "headerfilterstrategy":
+        case "headerFilterStrategy": return 
org.apache.camel.spi.HeaderFilterStrategy.class;
         case "lazystartproducer":
         case "lazyStartProducer": return boolean.class;
         case "maxautolockrenewduration":
@@ -174,6 +178,8 @@ public class ServiceBusEndpointConfigurer extends 
PropertyConfigurerSupport impl
         case "exchangePattern": return target.getExchangePattern();
         case "fullyqualifiednamespace":
         case "fullyQualifiedNamespace": return 
target.getConfiguration().getFullyQualifiedNamespace();
+        case "headerfilterstrategy":
+        case "headerFilterStrategy": return 
target.getConfiguration().getHeaderFilterStrategy();
         case "lazystartproducer":
         case "lazyStartProducer": return target.isLazyStartProducer();
         case "maxautolockrenewduration":
diff --git 
a/components/camel-azure/camel-azure-servicebus/src/generated/java/org/apache/camel/component/azure/servicebus/ServiceBusEndpointUriFactory.java
 
b/components/camel-azure/camel-azure-servicebus/src/generated/java/org/apache/camel/component/azure/servicebus/ServiceBusEndpointUriFactory.java
index e83b2e872d2..2d82b60eb73 100644
--- 
a/components/camel-azure/camel-azure-servicebus/src/generated/java/org/apache/camel/component/azure/servicebus/ServiceBusEndpointUriFactory.java
+++ 
b/components/camel-azure/camel-azure-servicebus/src/generated/java/org/apache/camel/component/azure/servicebus/ServiceBusEndpointUriFactory.java
@@ -21,7 +21,7 @@ public class ServiceBusEndpointUriFactory extends 
org.apache.camel.support.compo
     private static final Set<String> SECRET_PROPERTY_NAMES;
     private static final Set<String> MULTI_VALUE_PREFIXES;
     static {
-        Set<String> props = new HashSet<>(29);
+        Set<String> props = new HashSet<>(30);
         props.add("amqpRetryOptions");
         props.add("amqpTransportType");
         props.add("binary");
@@ -34,6 +34,7 @@ public class ServiceBusEndpointUriFactory extends 
org.apache.camel.support.compo
         props.add("exceptionHandler");
         props.add("exchangePattern");
         props.add("fullyQualifiedNamespace");
+        props.add("headerFilterStrategy");
         props.add("lazyStartProducer");
         props.add("maxAutoLockRenewDuration");
         props.add("peekNumMaxMessages");
diff --git 
a/components/camel-azure/camel-azure-servicebus/src/generated/resources/org/apache/camel/component/azure/servicebus/azure-servicebus.json
 
b/components/camel-azure/camel-azure-servicebus/src/generated/resources/org/apache/camel/component/azure/servicebus/azure-servicebus.json
index e28ab7e0734..6ddc943e251 100644
--- 
a/components/camel-azure/camel-azure-servicebus/src/generated/resources/org/apache/camel/component/azure/servicebus/azure-servicebus.json
+++ 
b/components/camel-azure/camel-azure-servicebus/src/generated/resources/org/apache/camel/component/azure/servicebus/azure-servicebus.json
@@ -27,30 +27,31 @@
     "amqpTransportType": { "index": 1, "kind": "property", "displayName": 
"Amqp Transport Type", "group": "common", "label": "common", "required": false, 
"type": "object", "javaType": "com.azure.core.amqp.AmqpTransportType", "enum": 
[ "Amqp", "AmqpWebSockets" ], "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": "AMQP", "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description":  [...]
     "clientOptions": { "index": 2, "kind": "property", "displayName": "Client 
Options", "group": "common", "label": "common", "required": false, "type": 
"object", "javaType": "com.azure.core.util.ClientOptions", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets the ClientOptions 
to be sent from the client built from this builder, [...]
     "configuration": { "index": 3, "kind": "property", "displayName": 
"Configuration", "group": "common", "label": "", "required": false, "type": 
"object", "javaType": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"deprecated": false, "autowired": false, "secret": false, "description": "The 
component configurations" },
-    "proxyOptions": { "index": 4, "kind": "property", "displayName": "Proxy 
Options", "group": "common", "label": "common", "required": false, "type": 
"object", "javaType": "com.azure.core.amqp.ProxyOptions", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets the proxy 
configuration to use for ServiceBusSenderAsyncClient. When a p [...]
-    "serviceBusType": { "index": 5, "kind": "property", "displayName": 
"Service Bus Type", "group": "common", "label": "common", "required": true, 
"type": "object", "javaType": 
"org.apache.camel.component.azure.servicebus.ServiceBusType", "enum": [ 
"queue", "topic" ], "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": "queue", "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "c [...]
-    "bridgeErrorHandler": { "index": 6, "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 [...]
-    "consumerOperation": { "index": 7, "kind": "property", "displayName": 
"Consumer Operation", "group": "consumer", "label": "consumer", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.component.azure.servicebus.ServiceBusConsumerOperationDefinition",
 "enum": [ "receiveMessages", "peekMessages" ], "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "receiveMessages", 
"configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusCon [...]
-    "disableAutoComplete": { "index": 8, "kind": "property", "displayName": 
"Disable Auto Complete", "group": "consumer", "label": "consumer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, 
"configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Disables auto-complete 
and auto-abandon of received message [...]
-    "maxAutoLockRenewDuration": { "index": 9, "kind": "property", 
"displayName": "Max Auto Lock Renew Duration", "group": "consumer", "label": 
"consumer", "required": false, "type": "object", "javaType": 
"java.time.Duration", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": "5m", "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets the amount of time 
to continue au [...]
-    "peekNumMaxMessages": { "index": 10, "kind": "property", "displayName": 
"Peek Num Max Messages", "group": "consumer", "label": "consumer", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Set the max number of 
messages to be peeked during the peek operation." },
-    "prefetchCount": { "index": 11, "kind": "property", "displayName": 
"Prefetch Count", "group": "consumer", "label": "consumer", "required": false, 
"type": "integer", "javaType": "int", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets the prefetch count 
of the receiver. For both PEEK_LOCK PEEK_LOCK and RECEIVE_AND_DELETE RECEI [...]
-    "receiverAsyncClient": { "index": 12, "kind": "property", "displayName": 
"Receiver Async Client", "group": "consumer", "label": "consumer", "required": 
false, "type": "object", "javaType": 
"com.azure.messaging.servicebus.ServiceBusReceiverAsyncClient", "deprecated": 
false, "deprecationNote": "", "autowired": true, "secret": false, 
"configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets th [...]
-    "serviceBusReceiveMode": { "index": 13, "kind": "property", "displayName": 
"Service Bus Receive Mode", "group": "consumer", "label": "consumer", 
"required": false, "type": "object", "javaType": 
"com.azure.messaging.servicebus.models.ServiceBusReceiveMode", "enum": [ 
"PEEK_LOCK", "RECEIVE_AND_DELETE" ], "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": "PEEK_LOCK", "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", "con 
[...]
-    "subQueue": { "index": 14, "kind": "property", "displayName": "Sub Queue", 
"group": "consumer", "label": "consumer", "required": false, "type": "object", 
"javaType": "com.azure.messaging.servicebus.models.SubQueue", "enum": [ "NONE", 
"DEAD_LETTER_QUEUE", "TRANSFER_DEAD_LETTER_QUEUE" ], "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "descriptio [...]
-    "subscriptionName": { "index": 15, "kind": "property", "displayName": 
"Subscription Name", "group": "consumer", "label": "consumer", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets the name of the 
subscription in the topic to listen to. topicOrQueueName an [...]
-    "reconnectDelay": { "index": 16, "kind": "property", "displayName": 
"Reconnect Delay", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "integer", "javaType": "int", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 5000, 
"configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "If the consumer has 
connection failure to Azure Servic [...]
-    "binary": { "index": 17, "kind": "property", "displayName": "Binary", 
"group": "producer", "label": "producer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Set binary mode. If 
true, message body will be sent as byte. By default, it is false." },
-    "lazyStartProducer": { "index": 18, "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 [...]
-    "producerOperation": { "index": 19, "kind": "property", "displayName": 
"Producer Operation", "group": "producer", "label": "producer", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.component.azure.servicebus.ServiceBusProducerOperationDefinition",
 "enum": [ "sendMessages", "scheduleMessages" ], "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "sendMessages", 
"configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConf [...]
-    "scheduledEnqueueTime": { "index": 20, "kind": "property", "displayName": 
"Scheduled Enqueue Time", "group": "producer", "label": "producer", "required": 
false, "type": "object", "javaType": "java.time.OffsetDateTime", "deprecated": 
false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets OffsetDateTime at 
which the message should appear in the S [...]
-    "senderAsyncClient": { "index": 21, "kind": "property", "displayName": 
"Sender Async Client", "group": "producer", "label": "producer", "required": 
false, "type": "object", "javaType": 
"com.azure.messaging.servicebus.ServiceBusSenderAsyncClient", "deprecated": 
false, "deprecationNote": "", "autowired": true, "secret": false, 
"configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets SenderAs [...]
-    "serviceBusTransactionContext": { "index": 22, "kind": "property", 
"displayName": "Service Bus Transaction Context", "group": "producer", "label": 
"producer", "required": false, "type": "object", "javaType": 
"com.azure.messaging.servicebus.ServiceBusTransactionContext", "deprecated": 
false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Represents  [...]
-    "autowiredEnabled": { "index": 23, "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  [...]
-    "connectionString": { "index": 24, "kind": "property", "displayName": 
"Connection String", "group": "security", "label": "security", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": true, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets the connection 
string for a Service Bus namespace or a specific Service Bus  [...]
-    "credentialType": { "index": 25, "kind": "property", "displayName": 
"Credential Type", "group": "security", "label": "security", "required": false, 
"type": "object", "javaType": 
"org.apache.camel.component.azure.servicebus.CredentialType", "enum": [ 
"AZURE_IDENTITY", "CONNECTION_STRING", "TOKEN_CREDENTIAL" ], "deprecated": 
false, "autowired": false, "secret": false, "defaultValue": 
"CONNECTION_STRING", "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfi [...]
-    "fullyQualifiedNamespace": { "index": 26, "kind": "property", 
"displayName": "Fully Qualified Namespace", "group": "security", "label": 
"security", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Fully Qualified 
Namespace of the service bus" },
-    "tokenCredential": { "index": 27, "kind": "property", "displayName": 
"Token Credential", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"com.azure.core.credential.TokenCredential", "deprecated": false, "autowired": 
false, "secret": true, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "A TokenCredential for 
Azure AD authentication." }
+    "headerFilterStrategy": { "index": 4, "kind": "property", "displayName": 
"Header Filter Strategy", "group": "common", "label": "common", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "To use a custom 
HeaderFilterStrategy to filter Serv [...]
+    "proxyOptions": { "index": 5, "kind": "property", "displayName": "Proxy 
Options", "group": "common", "label": "common", "required": false, "type": 
"object", "javaType": "com.azure.core.amqp.ProxyOptions", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets the proxy 
configuration to use for ServiceBusSenderAsyncClient. When a p [...]
+    "serviceBusType": { "index": 6, "kind": "property", "displayName": 
"Service Bus Type", "group": "common", "label": "common", "required": true, 
"type": "object", "javaType": 
"org.apache.camel.component.azure.servicebus.ServiceBusType", "enum": [ 
"queue", "topic" ], "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": "queue", "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "c [...]
+    "bridgeErrorHandler": { "index": 7, "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 [...]
+    "consumerOperation": { "index": 8, "kind": "property", "displayName": 
"Consumer Operation", "group": "consumer", "label": "consumer", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.component.azure.servicebus.ServiceBusConsumerOperationDefinition",
 "enum": [ "receiveMessages", "peekMessages" ], "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "receiveMessages", 
"configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusCon [...]
+    "disableAutoComplete": { "index": 9, "kind": "property", "displayName": 
"Disable Auto Complete", "group": "consumer", "label": "consumer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, 
"configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Disables auto-complete 
and auto-abandon of received message [...]
+    "maxAutoLockRenewDuration": { "index": 10, "kind": "property", 
"displayName": "Max Auto Lock Renew Duration", "group": "consumer", "label": 
"consumer", "required": false, "type": "object", "javaType": 
"java.time.Duration", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": "5m", "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets the amount of time 
to continue a [...]
+    "peekNumMaxMessages": { "index": 11, "kind": "property", "displayName": 
"Peek Num Max Messages", "group": "consumer", "label": "consumer", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Set the max number of 
messages to be peeked during the peek operation." },
+    "prefetchCount": { "index": 12, "kind": "property", "displayName": 
"Prefetch Count", "group": "consumer", "label": "consumer", "required": false, 
"type": "integer", "javaType": "int", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets the prefetch count 
of the receiver. For both PEEK_LOCK PEEK_LOCK and RECEIVE_AND_DELETE RECEI [...]
+    "receiverAsyncClient": { "index": 13, "kind": "property", "displayName": 
"Receiver Async Client", "group": "consumer", "label": "consumer", "required": 
false, "type": "object", "javaType": 
"com.azure.messaging.servicebus.ServiceBusReceiverAsyncClient", "deprecated": 
false, "deprecationNote": "", "autowired": true, "secret": false, 
"configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets th [...]
+    "serviceBusReceiveMode": { "index": 14, "kind": "property", "displayName": 
"Service Bus Receive Mode", "group": "consumer", "label": "consumer", 
"required": false, "type": "object", "javaType": 
"com.azure.messaging.servicebus.models.ServiceBusReceiveMode", "enum": [ 
"PEEK_LOCK", "RECEIVE_AND_DELETE" ], "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": "PEEK_LOCK", "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", "con 
[...]
+    "subQueue": { "index": 15, "kind": "property", "displayName": "Sub Queue", 
"group": "consumer", "label": "consumer", "required": false, "type": "object", 
"javaType": "com.azure.messaging.servicebus.models.SubQueue", "enum": [ "NONE", 
"DEAD_LETTER_QUEUE", "TRANSFER_DEAD_LETTER_QUEUE" ], "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "descriptio [...]
+    "subscriptionName": { "index": 16, "kind": "property", "displayName": 
"Subscription Name", "group": "consumer", "label": "consumer", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets the name of the 
subscription in the topic to listen to. topicOrQueueName an [...]
+    "reconnectDelay": { "index": 17, "kind": "property", "displayName": 
"Reconnect Delay", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "integer", "javaType": "int", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 5000, 
"configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "If the consumer has 
connection failure to Azure Servic [...]
+    "binary": { "index": 18, "kind": "property", "displayName": "Binary", 
"group": "producer", "label": "producer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Set binary mode. If 
true, message body will be sent as byte. By default, it is false." },
+    "lazyStartProducer": { "index": 19, "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 [...]
+    "producerOperation": { "index": 20, "kind": "property", "displayName": 
"Producer Operation", "group": "producer", "label": "producer", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.component.azure.servicebus.ServiceBusProducerOperationDefinition",
 "enum": [ "sendMessages", "scheduleMessages" ], "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "sendMessages", 
"configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConf [...]
+    "scheduledEnqueueTime": { "index": 21, "kind": "property", "displayName": 
"Scheduled Enqueue Time", "group": "producer", "label": "producer", "required": 
false, "type": "object", "javaType": "java.time.OffsetDateTime", "deprecated": 
false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets OffsetDateTime at 
which the message should appear in the S [...]
+    "senderAsyncClient": { "index": 22, "kind": "property", "displayName": 
"Sender Async Client", "group": "producer", "label": "producer", "required": 
false, "type": "object", "javaType": 
"com.azure.messaging.servicebus.ServiceBusSenderAsyncClient", "deprecated": 
false, "deprecationNote": "", "autowired": true, "secret": false, 
"configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets SenderAs [...]
+    "serviceBusTransactionContext": { "index": 23, "kind": "property", 
"displayName": "Service Bus Transaction Context", "group": "producer", "label": 
"producer", "required": false, "type": "object", "javaType": 
"com.azure.messaging.servicebus.ServiceBusTransactionContext", "deprecated": 
false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Represents  [...]
+    "autowiredEnabled": { "index": 24, "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  [...]
+    "connectionString": { "index": 25, "kind": "property", "displayName": 
"Connection String", "group": "security", "label": "security", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": true, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets the connection 
string for a Service Bus namespace or a specific Service Bus  [...]
+    "credentialType": { "index": 26, "kind": "property", "displayName": 
"Credential Type", "group": "security", "label": "security", "required": false, 
"type": "object", "javaType": 
"org.apache.camel.component.azure.servicebus.CredentialType", "enum": [ 
"AZURE_IDENTITY", "CONNECTION_STRING", "TOKEN_CREDENTIAL" ], "deprecated": 
false, "autowired": false, "secret": false, "defaultValue": 
"CONNECTION_STRING", "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfi [...]
+    "fullyQualifiedNamespace": { "index": 27, "kind": "property", 
"displayName": "Fully Qualified Namespace", "group": "security", "label": 
"security", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Fully Qualified 
Namespace of the service bus" },
+    "tokenCredential": { "index": 28, "kind": "property", "displayName": 
"Token Credential", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"com.azure.core.credential.TokenCredential", "deprecated": false, "autowired": 
false, "secret": true, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "A TokenCredential for 
Azure AD authentication." }
   },
   "headers": {
     "CamelAzureServiceBusApplicationProperties": { "index": 0, "kind": 
"header", "displayName": "", "group": "common", "label": "common", "required": 
false, "javaType": "Map<String, Object>", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "description": "The 
application properties (also known as custom properties) on messages sent and 
received by the producer and consumer, respectively.", "constantName": 
"org.apache.camel.component.azure.servicebus.Servi [...]
@@ -84,30 +85,31 @@
     "amqpRetryOptions": { "index": 1, "kind": "parameter", "displayName": 
"Amqp Retry Options", "group": "common", "label": "common", "required": false, 
"type": "object", "javaType": "com.azure.core.amqp.AmqpRetryOptions", 
"deprecated": false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets the retry options 
for Service Bus clients. If not specifie [...]
     "amqpTransportType": { "index": 2, "kind": "parameter", "displayName": 
"Amqp Transport Type", "group": "common", "label": "common", "required": false, 
"type": "object", "javaType": "com.azure.core.amqp.AmqpTransportType", "enum": 
[ "Amqp", "AmqpWebSockets" ], "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": "AMQP", "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": [...]
     "clientOptions": { "index": 3, "kind": "parameter", "displayName": "Client 
Options", "group": "common", "label": "common", "required": false, "type": 
"object", "javaType": "com.azure.core.util.ClientOptions", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets the ClientOptions 
to be sent from the client built from this builder [...]
-    "proxyOptions": { "index": 4, "kind": "parameter", "displayName": "Proxy 
Options", "group": "common", "label": "common", "required": false, "type": 
"object", "javaType": "com.azure.core.amqp.ProxyOptions", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets the proxy 
configuration to use for ServiceBusSenderAsyncClient. When a  [...]
-    "serviceBusType": { "index": 5, "kind": "parameter", "displayName": 
"Service Bus Type", "group": "common", "label": "common", "required": true, 
"type": "object", "javaType": 
"org.apache.camel.component.azure.servicebus.ServiceBusType", "enum": [ 
"queue", "topic" ], "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": "queue", "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": " [...]
-    "consumerOperation": { "index": 6, "kind": "parameter", "displayName": 
"Consumer Operation", "group": "consumer", "label": "consumer", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.component.azure.servicebus.ServiceBusConsumerOperationDefinition",
 "enum": [ "receiveMessages", "peekMessages" ], "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "receiveMessages", 
"configurationClass": "org.apache.camel.component.azure.servicebus.ServiceBusCo 
[...]
-    "disableAutoComplete": { "index": 7, "kind": "parameter", "displayName": 
"Disable Auto Complete", "group": "consumer", "label": "consumer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, 
"configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Disables auto-complete 
and auto-abandon of received messag [...]
-    "maxAutoLockRenewDuration": { "index": 8, "kind": "parameter", 
"displayName": "Max Auto Lock Renew Duration", "group": "consumer", "label": 
"consumer", "required": false, "type": "object", "javaType": 
"java.time.Duration", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": "5m", "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets the amount of time 
to continue a [...]
-    "peekNumMaxMessages": { "index": 9, "kind": "parameter", "displayName": 
"Peek Num Max Messages", "group": "consumer", "label": "consumer", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Set the max number of 
messages to be peeked during the peek operation." },
-    "prefetchCount": { "index": 10, "kind": "parameter", "displayName": 
"Prefetch Count", "group": "consumer", "label": "consumer", "required": false, 
"type": "integer", "javaType": "int", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets the prefetch count 
of the receiver. For both PEEK_LOCK PEEK_LOCK and RECEIVE_AND_DELETE RECE [...]
-    "receiverAsyncClient": { "index": 11, "kind": "parameter", "displayName": 
"Receiver Async Client", "group": "consumer", "label": "consumer", "required": 
false, "type": "object", "javaType": 
"com.azure.messaging.servicebus.ServiceBusReceiverAsyncClient", "deprecated": 
false, "deprecationNote": "", "autowired": true, "secret": false, 
"configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets t [...]
-    "serviceBusReceiveMode": { "index": 12, "kind": "parameter", 
"displayName": "Service Bus Receive Mode", "group": "consumer", "label": 
"consumer", "required": false, "type": "object", "javaType": 
"com.azure.messaging.servicebus.models.ServiceBusReceiveMode", "enum": [ 
"PEEK_LOCK", "RECEIVE_AND_DELETE" ], "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": "PEEK_LOCK", "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", "co [...]
-    "subQueue": { "index": 13, "kind": "parameter", "displayName": "Sub 
Queue", "group": "consumer", "label": "consumer", "required": false, "type": 
"object", "javaType": "com.azure.messaging.servicebus.models.SubQueue", "enum": 
[ "NONE", "DEAD_LETTER_QUEUE", "TRANSFER_DEAD_LETTER_QUEUE" ], "deprecated": 
false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "descripti [...]
-    "subscriptionName": { "index": 14, "kind": "parameter", "displayName": 
"Subscription Name", "group": "consumer", "label": "consumer", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets the name of the 
subscription in the topic to listen to. topicOrQueueName a [...]
-    "bridgeErrorHandler": { "index": 15, "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": 16, "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": 17, "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." },
-    "reconnectDelay": { "index": 18, "kind": "parameter", "displayName": 
"Reconnect Delay", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "integer", "javaType": "int", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 5000, 
"configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "If the consumer has 
connection failure to Azure Servi [...]
-    "binary": { "index": 19, "kind": "parameter", "displayName": "Binary", 
"group": "producer", "label": "producer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Set binary mode. If 
true, message body will be sent as byte. By default, it is false." },
-    "producerOperation": { "index": 20, "kind": "parameter", "displayName": 
"Producer Operation", "group": "producer", "label": "producer", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.component.azure.servicebus.ServiceBusProducerOperationDefinition",
 "enum": [ "sendMessages", "scheduleMessages" ], "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "sendMessages", 
"configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusCon [...]
-    "scheduledEnqueueTime": { "index": 21, "kind": "parameter", "displayName": 
"Scheduled Enqueue Time", "group": "producer", "label": "producer", "required": 
false, "type": "object", "javaType": "java.time.OffsetDateTime", "deprecated": 
false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets OffsetDateTime at 
which the message should appear in the  [...]
-    "senderAsyncClient": { "index": 22, "kind": "parameter", "displayName": 
"Sender Async Client", "group": "producer", "label": "producer", "required": 
false, "type": "object", "javaType": 
"com.azure.messaging.servicebus.ServiceBusSenderAsyncClient", "deprecated": 
false, "deprecationNote": "", "autowired": true, "secret": false, 
"configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets SenderA [...]
-    "serviceBusTransactionContext": { "index": 23, "kind": "parameter", 
"displayName": "Service Bus Transaction Context", "group": "producer", "label": 
"producer", "required": false, "type": "object", "javaType": 
"com.azure.messaging.servicebus.ServiceBusTransactionContext", "deprecated": 
false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Represents [...]
-    "lazyStartProducer": { "index": 24, "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 [...]
-    "connectionString": { "index": 25, "kind": "parameter", "displayName": 
"Connection String", "group": "security", "label": "security", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": true, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets the connection 
string for a Service Bus namespace or a specific Service Bus [...]
-    "credentialType": { "index": 26, "kind": "parameter", "displayName": 
"Credential Type", "group": "security", "label": "security", "required": false, 
"type": "object", "javaType": 
"org.apache.camel.component.azure.servicebus.CredentialType", "enum": [ 
"AZURE_IDENTITY", "CONNECTION_STRING", "TOKEN_CREDENTIAL" ], "deprecated": 
false, "autowired": false, "secret": false, "defaultValue": 
"CONNECTION_STRING", "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConf [...]
-    "fullyQualifiedNamespace": { "index": 27, "kind": "parameter", 
"displayName": "Fully Qualified Namespace", "group": "security", "label": 
"security", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Fully Qualified 
Namespace of the service bus" },
-    "tokenCredential": { "index": 28, "kind": "parameter", "displayName": 
"Token Credential", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"com.azure.core.credential.TokenCredential", "deprecated": false, "autowired": 
false, "secret": true, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "A TokenCredential for 
Azure AD authentication." }
+    "headerFilterStrategy": { "index": 4, "kind": "parameter", "displayName": 
"Header Filter Strategy", "group": "common", "label": "common", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "To use a custom 
HeaderFilterStrategy to filter Ser [...]
+    "proxyOptions": { "index": 5, "kind": "parameter", "displayName": "Proxy 
Options", "group": "common", "label": "common", "required": false, "type": 
"object", "javaType": "com.azure.core.amqp.ProxyOptions", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets the proxy 
configuration to use for ServiceBusSenderAsyncClient. When a  [...]
+    "serviceBusType": { "index": 6, "kind": "parameter", "displayName": 
"Service Bus Type", "group": "common", "label": "common", "required": true, 
"type": "object", "javaType": 
"org.apache.camel.component.azure.servicebus.ServiceBusType", "enum": [ 
"queue", "topic" ], "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": "queue", "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": " [...]
+    "consumerOperation": { "index": 7, "kind": "parameter", "displayName": 
"Consumer Operation", "group": "consumer", "label": "consumer", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.component.azure.servicebus.ServiceBusConsumerOperationDefinition",
 "enum": [ "receiveMessages", "peekMessages" ], "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "receiveMessages", 
"configurationClass": "org.apache.camel.component.azure.servicebus.ServiceBusCo 
[...]
+    "disableAutoComplete": { "index": 8, "kind": "parameter", "displayName": 
"Disable Auto Complete", "group": "consumer", "label": "consumer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, 
"configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Disables auto-complete 
and auto-abandon of received messag [...]
+    "maxAutoLockRenewDuration": { "index": 9, "kind": "parameter", 
"displayName": "Max Auto Lock Renew Duration", "group": "consumer", "label": 
"consumer", "required": false, "type": "object", "javaType": 
"java.time.Duration", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": "5m", "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets the amount of time 
to continue a [...]
+    "peekNumMaxMessages": { "index": 10, "kind": "parameter", "displayName": 
"Peek Num Max Messages", "group": "consumer", "label": "consumer", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Set the max number of 
messages to be peeked during the peek operation." },
+    "prefetchCount": { "index": 11, "kind": "parameter", "displayName": 
"Prefetch Count", "group": "consumer", "label": "consumer", "required": false, 
"type": "integer", "javaType": "int", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets the prefetch count 
of the receiver. For both PEEK_LOCK PEEK_LOCK and RECEIVE_AND_DELETE RECE [...]
+    "receiverAsyncClient": { "index": 12, "kind": "parameter", "displayName": 
"Receiver Async Client", "group": "consumer", "label": "consumer", "required": 
false, "type": "object", "javaType": 
"com.azure.messaging.servicebus.ServiceBusReceiverAsyncClient", "deprecated": 
false, "deprecationNote": "", "autowired": true, "secret": false, 
"configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets t [...]
+    "serviceBusReceiveMode": { "index": 13, "kind": "parameter", 
"displayName": "Service Bus Receive Mode", "group": "consumer", "label": 
"consumer", "required": false, "type": "object", "javaType": 
"com.azure.messaging.servicebus.models.ServiceBusReceiveMode", "enum": [ 
"PEEK_LOCK", "RECEIVE_AND_DELETE" ], "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": "PEEK_LOCK", "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", "co [...]
+    "subQueue": { "index": 14, "kind": "parameter", "displayName": "Sub 
Queue", "group": "consumer", "label": "consumer", "required": false, "type": 
"object", "javaType": "com.azure.messaging.servicebus.models.SubQueue", "enum": 
[ "NONE", "DEAD_LETTER_QUEUE", "TRANSFER_DEAD_LETTER_QUEUE" ], "deprecated": 
false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "descripti [...]
+    "subscriptionName": { "index": 15, "kind": "parameter", "displayName": 
"Subscription Name", "group": "consumer", "label": "consumer", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets the name of the 
subscription in the topic to listen to. topicOrQueueName a [...]
+    "bridgeErrorHandler": { "index": 16, "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": 17, "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": 18, "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." },
+    "reconnectDelay": { "index": 19, "kind": "parameter", "displayName": 
"Reconnect Delay", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "integer", "javaType": "int", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 5000, 
"configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "If the consumer has 
connection failure to Azure Servi [...]
+    "binary": { "index": 20, "kind": "parameter", "displayName": "Binary", 
"group": "producer", "label": "producer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Set binary mode. If 
true, message body will be sent as byte. By default, it is false." },
+    "producerOperation": { "index": 21, "kind": "parameter", "displayName": 
"Producer Operation", "group": "producer", "label": "producer", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.component.azure.servicebus.ServiceBusProducerOperationDefinition",
 "enum": [ "sendMessages", "scheduleMessages" ], "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "sendMessages", 
"configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusCon [...]
+    "scheduledEnqueueTime": { "index": 22, "kind": "parameter", "displayName": 
"Scheduled Enqueue Time", "group": "producer", "label": "producer", "required": 
false, "type": "object", "javaType": "java.time.OffsetDateTime", "deprecated": 
false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets OffsetDateTime at 
which the message should appear in the  [...]
+    "senderAsyncClient": { "index": 23, "kind": "parameter", "displayName": 
"Sender Async Client", "group": "producer", "label": "producer", "required": 
false, "type": "object", "javaType": 
"com.azure.messaging.servicebus.ServiceBusSenderAsyncClient", "deprecated": 
false, "deprecationNote": "", "autowired": true, "secret": false, 
"configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets SenderA [...]
+    "serviceBusTransactionContext": { "index": 24, "kind": "parameter", 
"displayName": "Service Bus Transaction Context", "group": "producer", "label": 
"producer", "required": false, "type": "object", "javaType": 
"com.azure.messaging.servicebus.ServiceBusTransactionContext", "deprecated": 
false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Represents [...]
+    "lazyStartProducer": { "index": 25, "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 [...]
+    "connectionString": { "index": 26, "kind": "parameter", "displayName": 
"Connection String", "group": "security", "label": "security", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": true, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Sets the connection 
string for a Service Bus namespace or a specific Service Bus [...]
+    "credentialType": { "index": 27, "kind": "parameter", "displayName": 
"Credential Type", "group": "security", "label": "security", "required": false, 
"type": "object", "javaType": 
"org.apache.camel.component.azure.servicebus.CredentialType", "enum": [ 
"AZURE_IDENTITY", "CONNECTION_STRING", "TOKEN_CREDENTIAL" ], "deprecated": 
false, "autowired": false, "secret": false, "defaultValue": 
"CONNECTION_STRING", "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConf [...]
+    "fullyQualifiedNamespace": { "index": 28, "kind": "parameter", 
"displayName": "Fully Qualified Namespace", "group": "security", "label": 
"security", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "Fully Qualified 
Namespace of the service bus" },
+    "tokenCredential": { "index": 29, "kind": "parameter", "displayName": 
"Token Credential", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"com.azure.core.credential.TokenCredential", "deprecated": false, "autowired": 
false, "secret": true, "configurationClass": 
"org.apache.camel.component.azure.servicebus.ServiceBusConfiguration", 
"configurationField": "configuration", "description": "A TokenCredential for 
Azure AD authentication." }
   }
 }
diff --git 
a/components/camel-azure/camel-azure-servicebus/src/main/java/org/apache/camel/component/azure/servicebus/ServiceBusConfiguration.java
 
b/components/camel-azure/camel-azure-servicebus/src/main/java/org/apache/camel/component/azure/servicebus/ServiceBusConfiguration.java
index 07bbb044eca..eeb5ff76dea 100644
--- 
a/components/camel-azure/camel-azure-servicebus/src/main/java/org/apache/camel/component/azure/servicebus/ServiceBusConfiguration.java
+++ 
b/components/camel-azure/camel-azure-servicebus/src/main/java/org/apache/camel/component/azure/servicebus/ServiceBusConfiguration.java
@@ -30,15 +30,13 @@ import 
com.azure.messaging.servicebus.ServiceBusTransactionContext;
 import com.azure.messaging.servicebus.models.ServiceBusReceiveMode;
 import com.azure.messaging.servicebus.models.SubQueue;
 import org.apache.camel.RuntimeCamelException;
-import org.apache.camel.spi.Metadata;
-import org.apache.camel.spi.UriParam;
-import org.apache.camel.spi.UriParams;
-import org.apache.camel.spi.UriPath;
+import org.apache.camel.spi.*;
+import org.apache.camel.support.DefaultHeaderFilterStrategy;
 
 import static 
org.apache.camel.component.azure.servicebus.CredentialType.CONNECTION_STRING;
 
 @UriParams
-public class ServiceBusConfiguration implements Cloneable {
+public class ServiceBusConfiguration implements Cloneable, 
HeaderFilterStrategyAware {
 
     @UriPath
     private String topicOrQueueName;
@@ -59,6 +57,9 @@ public class ServiceBusConfiguration implements Cloneable {
     private AmqpRetryOptions amqpRetryOptions;
     @UriParam(label = "common", defaultValue = "AMQP")
     private AmqpTransportType amqpTransportType = AmqpTransportType.AMQP;
+    @UriParam(label = "common",
+              description = "To use a custom HeaderFilterStrategy to filter 
Service Bus application properties to and from Camel message headers.")
+    private HeaderFilterStrategy headerFilterStrategy = new 
DefaultHeaderFilterStrategy();
     @UriParam(label = "consumer", defaultValue = "receiveMessages")
     private ServiceBusConsumerOperationDefinition consumerOperation = 
ServiceBusConsumerOperationDefinition.receiveMessages;
     @UriParam(label = "consumer")
@@ -188,6 +189,17 @@ public class ServiceBusConfiguration implements Cloneable {
         this.amqpTransportType = amqpTransportType;
     }
 
+    /**
+     * To use a custom HeaderFilterStrategy to filter application properties 
to and from the Camel message headers.
+     */
+    public HeaderFilterStrategy getHeaderFilterStrategy() {
+        return headerFilterStrategy;
+    }
+
+    public void setHeaderFilterStrategy(HeaderFilterStrategy 
headerFilterStrategy) {
+        this.headerFilterStrategy = headerFilterStrategy;
+    }
+
     /**
      * Sets the receiverAsyncClient in order to consume messages by the 
consumer
      */
diff --git 
a/components/camel-azure/camel-azure-servicebus/src/main/java/org/apache/camel/component/azure/servicebus/ServiceBusConsumer.java
 
b/components/camel-azure/camel-azure-servicebus/src/main/java/org/apache/camel/component/azure/servicebus/ServiceBusConsumer.java
index d00b30fe8f5..f3394150162 100644
--- 
a/components/camel-azure/camel-azure-servicebus/src/main/java/org/apache/camel/component/azure/servicebus/ServiceBusConsumer.java
+++ 
b/components/camel-azure/camel-azure-servicebus/src/main/java/org/apache/camel/component/azure/servicebus/ServiceBusConsumer.java
@@ -18,6 +18,7 @@ package org.apache.camel.component.azure.servicebus;
 
 import java.util.EnumMap;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 import com.azure.messaging.servicebus.ServiceBusReceivedMessage;
 import com.azure.messaging.servicebus.ServiceBusReceiverAsyncClient;
@@ -29,6 +30,7 @@ import org.apache.camel.RuntimeCamelException;
 import 
org.apache.camel.component.azure.servicebus.client.ServiceBusClientFactory;
 import 
org.apache.camel.component.azure.servicebus.client.ServiceBusReceiverAsyncClientWrapper;
 import 
org.apache.camel.component.azure.servicebus.operations.ServiceBusReceiverOperations;
+import org.apache.camel.spi.HeaderFilterStrategy;
 import org.apache.camel.support.DefaultConsumer;
 import org.apache.camel.support.SynchronizationAdapter;
 import org.apache.camel.util.ObjectHelper;
@@ -182,6 +184,12 @@ public class ServiceBusConsumer extends DefaultConsumer {
         message.setHeader(ServiceBusConstants.TIME_TO_LIVE, 
receivedMessage.getTimeToLive());
         message.setHeader(ServiceBusConstants.TO, receivedMessage.getTo());
 
+        // propagate headers
+        final HeaderFilterStrategy headerFilterStrategy = 
getConfiguration().getHeaderFilterStrategy();
+        
message.setHeaders(receivedMessage.getApplicationProperties().entrySet().stream()
+                .filter(entry -> 
!headerFilterStrategy.applyFilterToExternalHeaders(entry.getKey(), 
entry.getValue(), exchange))
+                .collect(Collectors.toMap(Map.Entry::getKey, 
Map.Entry::getValue)));
+
         return exchange;
     }
 
diff --git 
a/components/camel-azure/camel-azure-servicebus/src/main/java/org/apache/camel/component/azure/servicebus/ServiceBusProducer.java
 
b/components/camel-azure/camel-azure-servicebus/src/main/java/org/apache/camel/component/azure/servicebus/ServiceBusProducer.java
index b390a6a6cc5..af387c3d22e 100644
--- 
a/components/camel-azure/camel-azure-servicebus/src/main/java/org/apache/camel/component/azure/servicebus/ServiceBusProducer.java
+++ 
b/components/camel-azure/camel-azure-servicebus/src/main/java/org/apache/camel/component/azure/servicebus/ServiceBusProducer.java
@@ -19,11 +19,10 @@ package org.apache.camel.component.azure.servicebus;
 import java.io.File;
 import java.io.InputStream;
 import java.nio.file.Path;
-import java.util.EnumMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.function.BiConsumer;
 import java.util.function.Consumer;
+import java.util.stream.Collectors;
 import java.util.stream.StreamSupport;
 
 import com.azure.core.util.BinaryData;
@@ -36,6 +35,7 @@ import org.apache.camel.TypeConverter;
 import 
org.apache.camel.component.azure.servicebus.client.ServiceBusClientFactory;
 import 
org.apache.camel.component.azure.servicebus.client.ServiceBusSenderAsyncClientWrapper;
 import 
org.apache.camel.component.azure.servicebus.operations.ServiceBusSenderOperations;
+import org.apache.camel.spi.HeaderFilterStrategy;
 import org.apache.camel.support.DefaultAsyncProducer;
 import org.apache.camel.util.ObjectHelper;
 import org.slf4j.Logger;
@@ -147,8 +147,12 @@ public class ServiceBusProducer extends 
DefaultAsyncProducer {
     private BiConsumer<Exchange, AsyncCallback> sendMessages() {
         return (exchange, callback) -> {
             final Object inputBody = exchange.getMessage().getBody();
-            final Map<String, Object> applicationProperties
-                    = 
exchange.getMessage().getHeader(ServiceBusConstants.APPLICATION_PROPERTIES, 
Map.class);
+            Map<String, Object> applicationProperties
+                = 
exchange.getMessage().getHeader(ServiceBusConstants.APPLICATION_PROPERTIES, 
Map.class);
+            if (applicationProperties == null) {
+                applicationProperties = new HashMap<>();
+            }
+            propagateHeaders(exchange, applicationProperties);
             final String correlationId = 
exchange.getMessage().getHeader(ServiceBusConstants.CORRELATION_ID, 
String.class);
 
             Mono<Void> sendMessageAsync;
@@ -177,8 +181,12 @@ public class ServiceBusProducer extends 
DefaultAsyncProducer {
     private BiConsumer<Exchange, AsyncCallback> scheduleMessages() {
         return (exchange, callback) -> {
             final Object inputBody = exchange.getMessage().getBody();
-            final Map<String, Object> applicationProperties
-                    = 
exchange.getMessage().getHeader(ServiceBusConstants.APPLICATION_PROPERTIES, 
Map.class);
+            Map<String, Object> applicationProperties
+                = 
exchange.getMessage().getHeader(ServiceBusConstants.APPLICATION_PROPERTIES, 
Map.class);
+            if (applicationProperties == null) {
+                applicationProperties = new HashMap<>();
+            }
+            propagateHeaders(exchange, applicationProperties);
             final String correlationId = 
exchange.getMessage().getHeader(ServiceBusConstants.CORRELATION_ID, 
String.class);
 
             Mono<List<Long>> scheduleMessagesAsync;
@@ -245,6 +253,15 @@ public class ServiceBusProducer extends 
DefaultAsyncProducer {
         }
     }
 
+    private void propagateHeaders(Exchange exchange, Map<String, Object> 
applicationProperties) {
+        final HeaderFilterStrategy headerFilterStrategy = 
getConfiguration().getHeaderFilterStrategy();
+        applicationProperties.putAll(
+                exchange.getMessage().getHeaders().entrySet().stream()
+                        .filter(entry -> 
!headerFilterStrategy.applyFilterToCamelHeaders(entry.getKey(), 
entry.getValue(),
+                                exchange))
+                        .collect(Collectors.toMap(Map.Entry::getKey, 
Map.Entry::getValue)));
+    }
+
     private <T> void subscribeToMono(
             final Mono<T> inputMono, final Exchange exchange, final 
Consumer<T> resultsCallback, final AsyncCallback callback) {
         inputMono
diff --git 
a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/AzureServicebusUriDsl.kt
 
b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/AzureServicebusUriDsl.kt
index af3e830da25..86c1a84de3d 100644
--- 
a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/AzureServicebusUriDsl.kt
+++ 
b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/AzureServicebusUriDsl.kt
@@ -57,6 +57,10 @@ public class AzureServicebusUriDsl(
     it.property("clientOptions", clientOptions)
   }
 
+  public fun headerFilterStrategy(headerFilterStrategy: String) {
+    it.property("headerFilterStrategy", headerFilterStrategy)
+  }
+
   public fun proxyOptions(proxyOptions: String) {
     it.property("proxyOptions", proxyOptions)
   }

Reply via email to