You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2023/06/21 09:44:29 UTC

[camel-spring-boot] branch main updated: CAMEL-19475: re-add ActiveMQ starter (#868)

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

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


The following commit(s) were added to refs/heads/main by this push:
     new e5a57df4859 CAMEL-19475: re-add ActiveMQ starter (#868)
e5a57df4859 is described below

commit e5a57df4859c363af2e03a124ffbd47389d49ec9
Author: Otavio Rodolfo Piske <or...@users.noreply.github.com>
AuthorDate: Wed Jun 21 11:44:23 2023 +0200

    CAMEL-19475: re-add ActiveMQ starter (#868)
    
    * CAMEL-19475: added back dependencies required for ActiveMQ support
    
    * CAMEL-19475: added back ActiveMQ support
    
    * Revert "CAMEL-18928: removed component activemq"
    
    This reverts commit 8328c8bedbc5b524e709ff15f2a83026b79aefe7.
    
    * CAMEL-19475: adjusted ActiveMQ to match the other tests
    
    * CAMEL-19475: fixed missing name on the starter
---
 .../camel/springboot/catalog/components.properties |    1 +
 .../springboot/catalog/components/activemq.json    |  249 +++
 components-starter/camel-activemq-starter/pom.xml  |   48 +
 .../src/main/docs/activemq.json                    |  712 +++++++++
 .../ActiveMQComponentAutoConfiguration.java        |   77 +
 .../springboot/ActiveMQComponentConfiguration.java | 1670 ++++++++++++++++++++
 .../springboot/ActiveMQComponentConverter.java     |   85 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 +++
 .../src/main/resources/META-INF/NOTICE.txt         |   11 +
 .../src/main/resources/META-INF/spring.provides    |   17 +
 ...rk.boot.autoconfigure.AutoConfiguration.imports |   19 +
 components-starter/pom.xml                         |    1 +
 .../camel/itest/springboot/CamelActivemqTest.java  |   48 +
 tooling/camel-spring-boot-bom/pom.xml              |    5 +
 tooling/camel-spring-boot-dependencies/pom.xml     |    5 +
 15 files changed, 3151 insertions(+)

diff --git a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components.properties b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components.properties
index 54afa46a734..1b20086974e 100644
--- a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components.properties
+++ b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components.properties
@@ -1,4 +1,5 @@
 
+activemq
 amqp
 arangodb
 as2
diff --git a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/activemq.json b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/activemq.json
new file mode 100644
index 00000000000..0142eed37e0
--- /dev/null
+++ b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/activemq.json
@@ -0,0 +1,249 @@
+{
+  "component": {
+    "kind": "component",
+    "name": "activemq",
+    "title": "ActiveMQ",
+    "description": "Send messages to (or consume from) Apache ActiveMQ. This component extends the Camel JMS component.",
+    "deprecated": false,
+    "firstVersion": "1.0.0",
+    "label": "messaging",
+    "javaType": "org.apache.camel.component.activemq.ActiveMQComponent",
+    "supportLevel": "Stable",
+    "groupId": "org.apache.camel.springboot",
+    "artifactId": "camel-activemq-starter",
+    "version": "4.0.0-SNAPSHOT",
+    "scheme": "activemq",
+    "extendsScheme": "jms",
+    "syntax": "activemq:destinationType:destinationName",
+    "async": true,
+    "api": false,
+    "consumerOnly": false,
+    "producerOnly": false,
+    "lenientProperties": false
+  },
+  "componentProperties": {
+    "brokerURL": { "index": 0, "kind": "property", "displayName": "Broker URL", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Sets the broker URL to use to connect to ActiveMQ. If none configured then localhost:61616 is used by default (however can be overridden by configuration from environment variables)" },
+    "clientId": { "index": 1, "kind": "property", "displayName": "Client Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Sets the JMS client ID to use. Note that this value, if specified, must be unique and can only be used by a single JMS connecti [...]
+    "connectionFactory": { "index": 2, "kind": "property", "displayName": "Connection Factory", "group": "common", "label": "", "required": false, "type": "object", "javaType": "jakarta.jms.ConnectionFactory", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "The connection factory to be use. A connection factory must be configured either on the componen [...]
+    "disableReplyTo": { "index": 3, "kind": "property", "displayName": "Disable Reply To", "group": "common", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Specifies whether Camel ignores the JMSReplyTo header in messages. If true, Camel does not send a r [...]
+    "durableSubscriptionName": { "index": 4, "kind": "property", "displayName": "Durable Subscription Name", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "The durable subscriber name for specifying durable topic subscriptions. The clientId option must [...]
+    "jmsMessageType": { "index": 5, "kind": "property", "displayName": "Jms Message Type", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.jms.JmsMessageType", "enum": [ "Bytes", "Map", "Object", "Stream", "Text" ], "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Allows you to force the use o [...]
+    "replyTo": { "index": 6, "kind": "property", "displayName": "Reply To", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Provides an explicit ReplyTo destination (overrides any incoming value of Message.getJMSReplyTo() in consumer)." },
+    "testConnectionOnStartup": { "index": 7, "kind": "property", "displayName": "Test Connection On Startup", "group": "common", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Specifies whether to test the connection on startup. This ensures that when Came [...]
+    "usePooledConnection": { "index": 8, "kind": "property", "displayName": "Use Pooled Connection", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": true, "description": "Enables or disables whether a PooledConnectionFactory will be used so that when messages are sent to ActiveMQ from outside of a message consuming thread, pooling will be use [...]
+    "useSingleConnection": { "index": 9, "kind": "property", "displayName": "Use Single Connection", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": false, "description": "Enables or disables whether a Spring SingleConnectionFactory will be used so that when messages are sent to ActiveMQ from outside of a message consuming thread, pooling wil [...]
+    "acknowledgementModeName": { "index": 10, "kind": "property", "displayName": "Acknowledgement Mode Name", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "SESSION_TRANSACTED", "CLIENT_ACKNOWLEDGE", "AUTO_ACKNOWLEDGE", "DUPS_OK_ACKNOWLEDGE" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "AUTO_ACKNOWLEDGE", "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "conf [...]
+    "artemisConsumerPriority": { "index": 11, "kind": "property", "displayName": "Artemis Consumer Priority", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Consumer priorities allow you to ensure that high priority consumers receive messages while they  [...]
+    "asyncConsumer": { "index": 12, "kind": "property", "displayName": "Async Consumer", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Whether the JmsConsumer processes the Exchange asynchronously. If enabled then the JmsConsu [...]
+    "autoStartup": { "index": 13, "kind": "property", "displayName": "Auto Startup", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Specifies whether the consumer container should auto-startup." },
+    "cacheLevel": { "index": 14, "kind": "property", "displayName": "Cache Level", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Sets the cache level by ID for the underlying JMS resources. See cacheLevelName option for more details." },
+    "cacheLevelName": { "index": 15, "kind": "property", "displayName": "Cache Level Name", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "CACHE_AUTO", "CACHE_CONNECTION", "CACHE_CONSUMER", "CACHE_NONE", "CACHE_SESSION" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "CACHE_AUTO", "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configurat [...]
+    "concurrentConsumers": { "index": 16, "kind": "property", "displayName": "Concurrent Consumers", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Specifies the default number of concurrent consumers when consuming from JMS (not for r [...]
+    "maxConcurrentConsumers": { "index": 17, "kind": "property", "displayName": "Max Concurrent Consumers", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Specifies the maximum number of concurrent consumers when consuming from JMS (not for request\/repl [...]
+    "replyToDeliveryPersistent": { "index": 18, "kind": "property", "displayName": "Reply To Delivery Persistent", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Specifies whether to use persistent delivery by default for replies." },
+    "selector": { "index": 19, "kind": "property", "displayName": "Selector", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Sets the JMS selector to use" },
+    "subscriptionDurable": { "index": 20, "kind": "property", "displayName": "Subscription Durable", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Set whether to make the subscription durable. The durable subscription name to  [...]
+    "subscriptionName": { "index": 21, "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.jms.JmsConfiguration", "configurationField": "configuration", "description": "Set the name of a subscription to create. To be applied in case of a topic (pub-sub domain) with a s [...]
+    "subscriptionShared": { "index": 22, "kind": "property", "displayName": "Subscription Shared", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Set whether to make the subscription shared. The shared subscription name to be u [...]
+    "acceptMessagesWhileStopping": { "index": 23, "kind": "property", "displayName": "Accept Messages While Stopping", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Specifies whether the consumer accept mes [...]
+    "allowReplyManagerQuickStop": { "index": 24, "kind": "property", "displayName": "Allow Reply Manager Quick Stop", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Whether the DefaultMessageListenerContaine [...]
+    "consumerType": { "index": 25, "kind": "property", "displayName": "Consumer Type", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.jms.ConsumerType", "enum": [ "Simple", "Default", "Custom" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "Default", "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "descri [...]
+    "defaultTaskExecutorType": { "index": 26, "kind": "property", "displayName": "Default Task Executor Type", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.jms.DefaultTaskExecutorType", "enum": [ "ThreadPool", "SimpleAsync" ], "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", " [...]
+    "eagerLoadingOfProperties": { "index": 27, "kind": "property", "displayName": "Eager Loading Of Properties", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Enables eager loading of JMS properties and pay [...]
+    "eagerPoisonBody": { "index": 28, "kind": "property", "displayName": "Eager Poison Body", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "Poison JMS message due to ${exception.message}", "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "If eagerLoading [...]
+    "exposeListenerSession": { "index": 29, "kind": "property", "displayName": "Expose Listener Session", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Specifies whether the listener session should be expos [...]
+    "replyToConsumerType": { "index": 30, "kind": "property", "displayName": "Reply To Consumer Type", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.jms.ConsumerType", "enum": [ "Simple", "Default", "Custom" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "Default", "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configu [...]
+    "replyToSameDestinationAllowed": { "index": 31, "kind": "property", "displayName": "Reply To Same Destination Allowed", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Whether a JMS consumer is allowed to [...]
+    "taskExecutor": { "index": 32, "kind": "property", "displayName": "Task Executor", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.springframework.core.task.TaskExecutor", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Allows you to specify a custom task executor for consuming mes [...]
+    "deliveryDelay": { "index": 33, "kind": "property", "displayName": "Delivery Delay", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": -1, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Sets delivery delay to use for send calls for JMS. This option requires JMS 2.0 compliant broker." },
+    "deliveryMode": { "index": 34, "kind": "property", "displayName": "Delivery Mode", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "java.lang.Integer", "enum": [ "1", "2" ], "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Specifies the delivery mode to be used. Possible values are those defined by jakarta [...]
+    "deliveryPersistent": { "index": 35, "kind": "property", "displayName": "Delivery Persistent", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Specifies whether persistent delivery is used by default." },
+    "explicitQosEnabled": { "index": 36, "kind": "property", "displayName": "Explicit Qos Enabled", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "false", "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Set if the deliveryMode, priority or timeToLive qualities of service [...]
+    "formatDateHeadersToIso8601": { "index": 37, "kind": "property", "displayName": "Format Date Headers To Iso8601", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Sets whether JMS date properties should be formatted according [...]
+    "lazyStartProducer": { "index": 38, "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 [...]
+    "preserveMessageQos": { "index": 39, "kind": "property", "displayName": "Preserve Message Qos", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Set to true, if you want to send message using the QoS settings specified on the [...]
+    "priority": { "index": 40, "kind": "property", "displayName": "Priority", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "enum": [ "1", "2", "3", "4", "5", "6", "7", "8", "9" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": 4, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Values greater than 1 specify the message priority wh [...]
+    "replyToConcurrentConsumers": { "index": 41, "kind": "property", "displayName": "Reply To Concurrent Consumers", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Specifies the default number of concurrent consumers when doing request [...]
+    "replyToMaxConcurrentConsumers": { "index": 42, "kind": "property", "displayName": "Reply To Max Concurrent Consumers", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Specifies the maximum number of concurrent consumers when using request\/reply over [...]
+    "replyToOnTimeoutMaxConcurrentConsumers": { "index": 43, "kind": "property", "displayName": "Reply To On Timeout Max Concurrent Consumers", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Specifies the maximum number of concurrent c [...]
+    "replyToOverride": { "index": 44, "kind": "property", "displayName": "Reply To Override", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Provides an explicit ReplyTo destination in the JMS message, which overrides the setting of replyTo.  [...]
+    "replyToType": { "index": 45, "kind": "property", "displayName": "Reply To Type", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.jms.ReplyToType", "enum": [ "Temporary", "Shared", "Exclusive" ], "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Allows for explicitly specifying wh [...]
+    "requestTimeout": { "index": 46, "kind": "property", "displayName": "Request Timeout", "group": "producer", "label": "producer", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "20000", "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "The timeout for waiting for a reply when using the InOut Exchange Pattern (in millisecond [...]
+    "timeToLive": { "index": 47, "kind": "property", "displayName": "Time To Live", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": -1, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "When sending messages, specifies the time-to-live of the message (in milliseconds)." },
+    "allowAdditionalHeaders": { "index": 48, "kind": "property", "displayName": "Allow Additional Headers", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "This option is used to allow additional headers which may have valu [...]
+    "allowNullBody": { "index": 49, "kind": "property", "displayName": "Allow Null Body", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Whether to allow sending messages with no body. If this option is false [...]
+    "alwaysCopyMessage": { "index": 50, "kind": "property", "displayName": "Always Copy Message", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "If true, Camel will always make a JMS message copy of the mess [...]
+    "correlationProperty": { "index": 51, "kind": "property", "displayName": "Correlation Property", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "When using InOut exchange pattern use this JMS property instead of JMSCorr [...]
+    "disableTimeToLive": { "index": 52, "kind": "property", "displayName": "Disable Time To Live", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Use this option to force disabling time to live. For example  [...]
+    "forceSendOriginalMessage": { "index": 53, "kind": "property", "displayName": "Force Send Original Message", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "When using mapJmsMessage=false Camel will creat [...]
+    "includeSentJMSMessageID": { "index": 54, "kind": "property", "displayName": "Include Sent JMSMessage ID", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Only applicable when sending to JMS destination u [...]
+    "replyToCacheLevelName": { "index": 55, "kind": "property", "displayName": "Reply To Cache Level Name", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "CACHE_AUTO", "CACHE_CONNECTION", "CACHE_CONSUMER", "CACHE_NONE", "CACHE_SESSION" ], "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "conf [...]
+    "replyToDestinationSelectorName": { "index": 56, "kind": "property", "displayName": "Reply To Destination Selector Name", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Sets the JMS Selector using the fixed name to be  [...]
+    "streamMessageTypeEnabled": { "index": 57, "kind": "property", "displayName": "Stream Message Type Enabled", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Sets whether StreamMessage type is enabled or n [...]
+    "allowAutoWiredConnectionFactory": { "index": 58, "kind": "property", "displayName": "Allow Auto Wired Connection Factory", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether to auto-discover ConnectionFactory from the registry, if no connection factory has been configured. If only one instance of ConnectionFactory is found then i [...]
+    "allowAutoWiredDestinationResolver": { "index": 59, "kind": "property", "displayName": "Allow Auto Wired Destination Resolver", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether to auto-discover DestinationResolver from the registry, if no destination resolver has been configured. If only one instance of DestinationResolver is fo [...]
+    "allowSerializedHeaders": { "index": 60, "kind": "property", "displayName": "Allow Serialized Headers", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Controls whether or not to include serialized headers. Applies only when [...]
+    "artemisStreamingEnabled": { "index": 61, "kind": "property", "displayName": "Artemis Streaming Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Whether optimizing for Apache Artemis streaming mode. This can reduce  [...]
+    "asyncStartListener": { "index": 62, "kind": "property", "displayName": "Async Start Listener", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Whether to startup the JmsConsumer message listener asynchronously, when startin [...]
+    "asyncStopListener": { "index": 63, "kind": "property", "displayName": "Async Stop Listener", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Whether to stop the JmsConsumer message listener asynchronously, when stopping a r [...]
+    "autowiredEnabled": { "index": 64, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching  [...]
+    "configuration": { "index": 65, "kind": "property", "displayName": "Configuration", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.jms.JmsConfiguration", "deprecated": false, "autowired": false, "secret": false, "description": "To use a shared JMS configuration" },
+    "destinationResolver": { "index": 66, "kind": "property", "displayName": "Destination Resolver", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.springframework.jms.support.destination.DestinationResolver", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "A pluggable org.springframework.jms.support.des [...]
+    "errorHandler": { "index": 67, "kind": "property", "displayName": "Error Handler", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.springframework.util.ErrorHandler", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Specifies a org.springframework.util.ErrorHandler to be invoked in case of any uncaught [...]
+    "exceptionListener": { "index": 68, "kind": "property", "displayName": "Exception Listener", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "jakarta.jms.ExceptionListener", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Specifies the JMS Exception Listener that is to be notified of any underlying JMS exc [...]
+    "idleConsumerLimit": { "index": 69, "kind": "property", "displayName": "Idle Consumer Limit", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Specify the limit for the number of consumers that are allowed to be idle at any given time." },
+    "idleTaskExecutionLimit": { "index": 70, "kind": "property", "displayName": "Idle Task Execution Limit", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Specifies the limit for idle executions of a receive task, not having received  [...]
+    "includeAllJMSXProperties": { "index": 71, "kind": "property", "displayName": "Include All JMSXProperties", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Whether to include all JMSXxxx properties when mapping from JMS to C [...]
+    "jmsKeyFormatStrategy": { "index": 72, "kind": "property", "displayName": "Jms Key Format Strategy", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.jms.JmsKeyFormatStrategy", "enum": [ "default", "passthrough" ], "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Pluggable strateg [...]
+    "mapJmsMessage": { "index": 73, "kind": "property", "displayName": "Map Jms Message", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Specifies whether Camel should auto map the received JMS message to a suited payload type,  [...]
+    "maxMessagesPerTask": { "index": 74, "kind": "property", "displayName": "Max Messages Per Task", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": -1, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "The number of messages per task. -1 is unlimited. If you use a range for concurrent co [...]
+    "messageConverter": { "index": 75, "kind": "property", "displayName": "Message Converter", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.springframework.jms.support.converter.MessageConverter", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "To use a custom Spring org.springframework.jms.support.con [...]
+    "messageCreatedStrategy": { "index": 76, "kind": "property", "displayName": "Message Created Strategy", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.jms.MessageCreatedStrategy", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "To use the given MessageCreatedStrategy which are  [...]
+    "messageIdEnabled": { "index": 77, "kind": "property", "displayName": "Message Id Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "When sending, specifies whether message IDs should be added. This is just an hint to  [...]
+    "messageListenerContainerFactory": { "index": 78, "kind": "property", "displayName": "Message Listener Container Factory", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.jms.MessageListenerContainerFactory", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Registry ID of the Mes [...]
+    "messageTimestampEnabled": { "index": 79, "kind": "property", "displayName": "Message Timestamp Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Specifies whether timestamps should be enabled by default on sending me [...]
+    "pubSubNoLocal": { "index": 80, "kind": "property", "displayName": "Pub Sub No Local", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Specifies whether to inhibit the delivery of messages published by its own connection." },
+    "queueBrowseStrategy": { "index": 81, "kind": "property", "displayName": "Queue Browse Strategy", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.jms.QueueBrowseStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom QueueBrowseStrategy when browsing queues" },
+    "receiveTimeout": { "index": 82, "kind": "property", "displayName": "Receive Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "1000", "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "The timeout for receiving messages (in milliseconds)." },
+    "recoveryInterval": { "index": 83, "kind": "property", "displayName": "Recovery Interval", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "5000", "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Specifies the interval between recovery attempts, i.e. when a connection is being refr [...]
+    "requestTimeoutCheckerInterval": { "index": 84, "kind": "property", "displayName": "Request Timeout Checker Interval", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "1000", "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Configures how often Camel should check for timed out Exch [...]
+    "synchronous": { "index": 85, "kind": "property", "displayName": "Synchronous", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Sets whether synchronous processing should be strictly used" },
+    "transferException": { "index": 86, "kind": "property", "displayName": "Transfer Exception", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "If enabled and you are using Request Reply messaging (InOut) and an Exchange failed [...]
+    "transferExchange": { "index": 87, "kind": "property", "displayName": "Transfer Exchange", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "You can transfer the exchange over the wire instead of just the body and headers. The [...]
+    "trustAllPackages": { "index": 88, "kind": "property", "displayName": "Trust All Packages", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": false, "description": "Define if all Java packages are trusted or not (for Java object JMS message types). Notice its not recommended practice to send Java serialized objects over network. Setting [...]
+    "useMessageIDAsCorrelationID": { "index": 89, "kind": "property", "displayName": "Use Message IDAs Correlation ID", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Specifies whether JMSMessageID should always be used as JMSC [...]
+    "waitForProvisionCorrelationToBeUpdatedCounter": { "index": 90, "kind": "property", "displayName": "Wait For Provision Correlation To Be Updated Counter", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 50, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Number of times to wait for  [...]
+    "waitForProvisionCorrelationToBeUpdatedThreadSleepingTime": { "index": 91, "kind": "property", "displayName": "Wait For Provision Correlation To Be Updated Thread Sleeping Time", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "100", "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description":  [...]
+    "headerFilterStrategy": { "index": 92, "kind": "property", "displayName": "Header Filter Strategy", "group": "filter", "label": "filter", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message." },
+    "errorHandlerLoggingLevel": { "index": 93, "kind": "property", "displayName": "Error Handler Logging Level", "group": "logging", "label": "consumer,logging", "required": false, "type": "object", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "WARN", "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configur [...]
+    "errorHandlerLogStackTrace": { "index": 94, "kind": "property", "displayName": "Error Handler Log Stack Trace", "group": "logging", "label": "consumer,logging", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Allows to control whether stacktraces should be logged or  [...]
+    "password": { "index": 95, "kind": "property", "displayName": "Password", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Password to use with the ConnectionFactory. You can also configure username\/password directly on the ConnectionFactory." },
+    "username": { "index": 96, "kind": "property", "displayName": "Username", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Username to use with the ConnectionFactory. You can also configure username\/password directly on the ConnectionFactory." },
+    "transacted": { "index": 97, "kind": "property", "displayName": "Transacted", "group": "transaction", "label": "transaction", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Specifies whether to use transacted mode" },
+    "transactedInOut": { "index": 98, "kind": "property", "displayName": "Transacted In Out", "group": "transaction", "label": "transaction", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Specifies whether InOut operations (request reply) default to using transacted m [...]
+    "lazyCreateTransactionManager": { "index": 99, "kind": "property", "displayName": "Lazy Create Transaction Manager", "group": "transaction (advanced)", "label": "transaction,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "If true, Camel will create a JmsTr [...]
+    "transactionManager": { "index": 100, "kind": "property", "displayName": "Transaction Manager", "group": "transaction (advanced)", "label": "transaction,advanced", "required": false, "type": "object", "javaType": "org.springframework.transaction.PlatformTransactionManager", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "The Spring transaction mana [...]
+    "transactionName": { "index": 101, "kind": "property", "displayName": "Transaction Name", "group": "transaction (advanced)", "label": "transaction,advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "The name of the transaction to use." },
+    "transactionTimeout": { "index": 102, "kind": "property", "displayName": "Transaction Timeout", "group": "transaction (advanced)", "label": "transaction,advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": -1, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "The timeout value of the transaction (in seconds), if using t [...]
+  },
+  "headers": {
+    "CamelJmsDestination": { "index": 0, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "jakarta.jms.Destination", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The destination.", "constantName": "org.apache.camel.component.jms.JmsConstants#JMS_DESTINATION" },
+    "CamelJmsDestinationName": { "index": 1, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The name of the queue or topic to use as destination.", "constantName": "org.apache.camel.component.jms.JmsConstants#JMS_DESTINATION_NAME" },
+    "JMSXGroupID": { "index": 2, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The JMS group ID.", "constantName": "org.apache.camel.component.jms.JmsConstants#JMS_X_GROUP_ID" },
+    "JMSMessageID": { "index": 3, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The JMS unique message ID.", "constantName": "org.apache.camel.component.jms.JmsConstants#JMS_HEADER_MESSAGE_ID" },
+    "JMSCorrelationID": { "index": 4, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The JMS correlation ID.", "constantName": "org.apache.camel.component.jms.JmsConstants#JMS_HEADER_CORRELATION_ID" },
+    "JMSCorrelationIDAsBytes": { "index": 5, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The JMS correlation ID as bytes.", "constantName": "org.apache.camel.component.jms.JmsConstants#JMS_HEADER_CORRELATION_ID_AS_BYTES" },
+    "JMSDeliveryMode": { "index": 6, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "int", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The JMS delivery mode.", "constantName": "org.apache.camel.component.jms.JmsConstants#JMS_HEADER_DELIVERY_MODE" },
+    "JMSDestination": { "index": 7, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "jakarta.jms.Destination", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The JMS destination.", "constantName": "org.apache.camel.component.jms.JmsConstants#JMS_HEADER_DESTINATION" },
+    "JMSExpiration": { "index": 8, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The JMS expiration.", "constantName": "org.apache.camel.component.jms.JmsConstants#JMS_HEADER_EXPIRATION" },
+    "JMSPriority": { "index": 9, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "int", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The JMS priority (with 0 as the lowest priority and 9 as the highest).", "constantName": "org.apache.camel.component.jms.JmsConstants#JMS_HEADER_PRIORITY" },
+    "JMSRedelivered": { "index": 10, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Is the JMS message redelivered.", "constantName": "org.apache.camel.component.jms.JmsConstants#JMS_HEADER_REDELIVERED" },
+    "JMSTimestamp": { "index": 11, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The JMS timestamp.", "constantName": "org.apache.camel.component.jms.JmsConstants#JMS_HEADER_TIMESTAMP" },
+    "JMSReplyTo": { "index": 12, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "jakarta.jms.Destination", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The JMS reply-to destination.", "constantName": "org.apache.camel.component.jms.JmsConstants#JMS_HEADER_REPLY_TO" },
+    "JMSType": { "index": 13, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The JMS type.", "constantName": "org.apache.camel.component.jms.JmsConstants#JMS_HEADER_TYPE" },
+    "JMSXUserID": { "index": 14, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The XUser id.", "constantName": "org.apache.camel.component.jms.JmsConstants#JMS_HEADER_XUSER_ID" },
+    "CamelJmsMessageType": { "index": 15, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "org.apache.camel.component.jms.JmsMessageType", "enum": [ "Bytes", "Map", "Object", "Stream", "Text", "Blob" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The message type.", "constantName": "org.apache.camel.component.jms.JmsConstants#JMS_MESSAGE_TYPE" },
+    "CamelJmsRequestTimeout": { "index": 16, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": "20_000", "description": "The timeout for waiting for a reply when using the InOut Exchange Pattern (in milliseconds).", "constantName": "org.apache.camel.component.jms.JmsConstants#JMS_REQUEST_TIMEOUT" }
+  },
+  "properties": {
+    "destinationType": { "index": 0, "kind": "path", "displayName": "Destination Type", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "queue", "topic", "temp-queue", "temp-topic" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "queue", "description": "The kind of destination to use" },
+    "destinationName": { "index": 1, "kind": "path", "displayName": "Destination Name", "group": "common", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Name of the queue or topic to use as destination" },
+    "clientId": { "index": 2, "kind": "parameter", "displayName": "Client Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Sets the JMS client ID to use. Note that this value, if specified, must be unique and can only be used by a single JMS connect [...]
+    "connectionFactory": { "index": 3, "kind": "parameter", "displayName": "Connection Factory", "group": "common", "label": "", "required": false, "type": "object", "javaType": "jakarta.jms.ConnectionFactory", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "The connection factory to be use. A connection factory must be configured either on the compone [...]
+    "disableReplyTo": { "index": 4, "kind": "parameter", "displayName": "Disable Reply To", "group": "common", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Specifies whether Camel ignores the JMSReplyTo header in messages. If true, Camel does not send a  [...]
+    "durableSubscriptionName": { "index": 5, "kind": "parameter", "displayName": "Durable Subscription Name", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "The durable subscriber name for specifying durable topic subscriptions. The clientId option mus [...]
+    "jmsMessageType": { "index": 6, "kind": "parameter", "displayName": "Jms Message Type", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.jms.JmsMessageType", "enum": [ "Bytes", "Map", "Object", "Stream", "Text" ], "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Allows you to force the use  [...]
+    "replyTo": { "index": 7, "kind": "parameter", "displayName": "Reply To", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Provides an explicit ReplyTo destination (overrides any incoming value of Message.getJMSReplyTo() in consumer)." },
+    "testConnectionOnStartup": { "index": 8, "kind": "parameter", "displayName": "Test Connection On Startup", "group": "common", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Specifies whether to test the connection on startup. This ensures that when Cam [...]
+    "acknowledgementModeName": { "index": 9, "kind": "parameter", "displayName": "Acknowledgement Mode Name", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "SESSION_TRANSACTED", "CLIENT_ACKNOWLEDGE", "AUTO_ACKNOWLEDGE", "DUPS_OK_ACKNOWLEDGE" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "AUTO_ACKNOWLEDGE", "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "conf [...]
+    "artemisConsumerPriority": { "index": 10, "kind": "parameter", "displayName": "Artemis Consumer Priority", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Consumer priorities allow you to ensure that high priority consumers receive messages while they [...]
+    "asyncConsumer": { "index": 11, "kind": "parameter", "displayName": "Async Consumer", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Whether the JmsConsumer processes the Exchange asynchronously. If enabled then the JmsCons [...]
+    "autoStartup": { "index": 12, "kind": "parameter", "displayName": "Auto Startup", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Specifies whether the consumer container should auto-startup." },
+    "cacheLevel": { "index": 13, "kind": "parameter", "displayName": "Cache Level", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Sets the cache level by ID for the underlying JMS resources. See cacheLevelName option for more details." },
+    "cacheLevelName": { "index": 14, "kind": "parameter", "displayName": "Cache Level Name", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "CACHE_AUTO", "CACHE_CONNECTION", "CACHE_CONSUMER", "CACHE_NONE", "CACHE_SESSION" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "CACHE_AUTO", "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configura [...]
+    "concurrentConsumers": { "index": 15, "kind": "parameter", "displayName": "Concurrent Consumers", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Specifies the default number of concurrent consumers when consuming from JMS (not for  [...]
+    "maxConcurrentConsumers": { "index": 16, "kind": "parameter", "displayName": "Max Concurrent Consumers", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Specifies the maximum number of concurrent consumers when consuming from JMS (not for request\/rep [...]
+    "replyToDeliveryPersistent": { "index": 17, "kind": "parameter", "displayName": "Reply To Delivery Persistent", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Specifies whether to use persistent delivery by default for replies." },
+    "selector": { "index": 18, "kind": "parameter", "displayName": "Selector", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Sets the JMS selector to use" },
+    "subscriptionDurable": { "index": 19, "kind": "parameter", "displayName": "Subscription Durable", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Set whether to make the subscription durable. The durable subscription name to [...]
+    "subscriptionName": { "index": 20, "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.jms.JmsConfiguration", "configurationField": "configuration", "description": "Set the name of a subscription to create. To be applied in case of a topic (pub-sub domain) with a  [...]
+    "subscriptionShared": { "index": 21, "kind": "parameter", "displayName": "Subscription Shared", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Set whether to make the subscription shared. The shared subscription name to be  [...]
+    "acceptMessagesWhileStopping": { "index": 22, "kind": "parameter", "displayName": "Accept Messages While Stopping", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Specifies whether the consumer accept me [...]
+    "allowReplyManagerQuickStop": { "index": 23, "kind": "parameter", "displayName": "Allow Reply Manager Quick Stop", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Whether the DefaultMessageListenerContain [...]
+    "consumerType": { "index": 24, "kind": "parameter", "displayName": "Consumer Type", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.jms.ConsumerType", "enum": [ "Simple", "Default", "Custom" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "Default", "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "descr [...]
+    "defaultTaskExecutorType": { "index": 25, "kind": "parameter", "displayName": "Default Task Executor Type", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.jms.DefaultTaskExecutorType", "enum": [ "ThreadPool", "SimpleAsync" ], "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration",  [...]
+    "destinationOptions": { "index": 26, "kind": "parameter", "displayName": "Destination Options", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.String>", "prefix": "destination.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "description": "Destination Options are a way to provide extended configuration options to a JMS consumer without having to  [...]
+    "eagerLoadingOfProperties": { "index": 27, "kind": "parameter", "displayName": "Eager Loading Of Properties", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Enables eager loading of JMS properties and pa [...]
+    "eagerPoisonBody": { "index": 28, "kind": "parameter", "displayName": "Eager Poison Body", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "Poison JMS message due to ${exception.message}", "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "If eagerLoadin [...]
+    "exceptionHandler": { "index": 29, "kind": "parameter", "displayName": "Exception Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", "deprecated": false, "autowired": false, "secret": false, "description": "To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By de [...]
+    "exchangePattern": { "index": 30, "kind": "parameter", "displayName": "Exchange Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the exchange pattern when the consumer creates an exchange." },
+    "exposeListenerSession": { "index": 31, "kind": "parameter", "displayName": "Expose Listener Session", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Specifies whether the listener session should be expo [...]
+    "replyToConsumerType": { "index": 32, "kind": "parameter", "displayName": "Reply To Consumer Type", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.jms.ConsumerType", "enum": [ "Simple", "Default", "Custom" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "Default", "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "config [...]
+    "replyToSameDestinationAllowed": { "index": 33, "kind": "parameter", "displayName": "Reply To Same Destination Allowed", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Whether a JMS consumer is allowed t [...]
+    "taskExecutor": { "index": 34, "kind": "parameter", "displayName": "Task Executor", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.springframework.core.task.TaskExecutor", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Allows you to specify a custom task executor for consuming me [...]
+    "deliveryDelay": { "index": 35, "kind": "parameter", "displayName": "Delivery Delay", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": -1, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Sets delivery delay to use for send calls for JMS. This option requires JMS 2.0 compliant broker." },
+    "deliveryMode": { "index": 36, "kind": "parameter", "displayName": "Delivery Mode", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "java.lang.Integer", "enum": [ "1", "2" ], "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Specifies the delivery mode to be used. Possible values are those defined by jakart [...]
+    "deliveryPersistent": { "index": 37, "kind": "parameter", "displayName": "Delivery Persistent", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Specifies whether persistent delivery is used by default." },
+    "explicitQosEnabled": { "index": 38, "kind": "parameter", "displayName": "Explicit Qos Enabled", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "false", "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Set if the deliveryMode, priority or timeToLive qualities of servic [...]
+    "formatDateHeadersToIso8601": { "index": 39, "kind": "parameter", "displayName": "Format Date Headers To Iso8601", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Sets whether JMS date properties should be formatted accordin [...]
+    "preserveMessageQos": { "index": 40, "kind": "parameter", "displayName": "Preserve Message Qos", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Set to true, if you want to send message using the QoS settings specified on th [...]
+    "priority": { "index": 41, "kind": "parameter", "displayName": "Priority", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "enum": [ "1", "2", "3", "4", "5", "6", "7", "8", "9" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": 4, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Values greater than 1 specify the message priority w [...]
+    "replyToConcurrentConsumers": { "index": 42, "kind": "parameter", "displayName": "Reply To Concurrent Consumers", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Specifies the default number of concurrent consumers when doing reques [...]
+    "replyToMaxConcurrentConsumers": { "index": 43, "kind": "parameter", "displayName": "Reply To Max Concurrent Consumers", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Specifies the maximum number of concurrent consumers when using request\/reply ove [...]
+    "replyToOnTimeoutMaxConcurrentConsumers": { "index": 44, "kind": "parameter", "displayName": "Reply To On Timeout Max Concurrent Consumers", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Specifies the maximum number of concurrent  [...]
+    "replyToOverride": { "index": 45, "kind": "parameter", "displayName": "Reply To Override", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Provides an explicit ReplyTo destination in the JMS message, which overrides the setting of replyTo. [...]
+    "replyToType": { "index": 46, "kind": "parameter", "displayName": "Reply To Type", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.jms.ReplyToType", "enum": [ "Temporary", "Shared", "Exclusive" ], "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Allows for explicitly specifying w [...]
+    "requestTimeout": { "index": 47, "kind": "parameter", "displayName": "Request Timeout", "group": "producer", "label": "producer", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "20000", "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "The timeout for waiting for a reply when using the InOut Exchange Pattern (in millisecon [...]
+    "timeToLive": { "index": 48, "kind": "parameter", "displayName": "Time To Live", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": -1, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "When sending messages, specifies the time-to-live of the message (in milliseconds)." },
+    "allowAdditionalHeaders": { "index": 49, "kind": "parameter", "displayName": "Allow Additional Headers", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "This option is used to allow additional headers which may have val [...]
+    "allowNullBody": { "index": 50, "kind": "parameter", "displayName": "Allow Null Body", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Whether to allow sending messages with no body. If this option is fals [...]
+    "alwaysCopyMessage": { "index": 51, "kind": "parameter", "displayName": "Always Copy Message", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "If true, Camel will always make a JMS message copy of the mes [...]
+    "correlationProperty": { "index": 52, "kind": "parameter", "displayName": "Correlation Property", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "When using InOut exchange pattern use this JMS property instead of JMSCor [...]
+    "disableTimeToLive": { "index": 53, "kind": "parameter", "displayName": "Disable Time To Live", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Use this option to force disabling time to live. For example [...]
+    "forceSendOriginalMessage": { "index": 54, "kind": "parameter", "displayName": "Force Send Original Message", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "When using mapJmsMessage=false Camel will crea [...]
+    "includeSentJMSMessageID": { "index": 55, "kind": "parameter", "displayName": "Include Sent JMSMessage ID", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Only applicable when sending to JMS destination  [...]
+    "lazyStartProducer": { "index": 56, "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 [...]
+    "replyToCacheLevelName": { "index": 57, "kind": "parameter", "displayName": "Reply To Cache Level Name", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "CACHE_AUTO", "CACHE_CONNECTION", "CACHE_CONSUMER", "CACHE_NONE", "CACHE_SESSION" ], "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "con [...]
+    "replyToDestinationSelectorName": { "index": 58, "kind": "parameter", "displayName": "Reply To Destination Selector Name", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Sets the JMS Selector using the fixed name to be [...]
+    "streamMessageTypeEnabled": { "index": 59, "kind": "parameter", "displayName": "Stream Message Type Enabled", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Sets whether StreamMessage type is enabled or  [...]
+    "allowSerializedHeaders": { "index": 60, "kind": "parameter", "displayName": "Allow Serialized Headers", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Controls whether or not to include serialized headers. Applies only whe [...]
+    "artemisStreamingEnabled": { "index": 61, "kind": "parameter", "displayName": "Artemis Streaming Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Whether optimizing for Apache Artemis streaming mode. This can reduce [...]
+    "asyncStartListener": { "index": 62, "kind": "parameter", "displayName": "Async Start Listener", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Whether to startup the JmsConsumer message listener asynchronously, when starti [...]
+    "asyncStopListener": { "index": 63, "kind": "parameter", "displayName": "Async Stop Listener", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Whether to stop the JmsConsumer message listener asynchronously, when stopping a  [...]
+    "destinationResolver": { "index": 64, "kind": "parameter", "displayName": "Destination Resolver", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.springframework.jms.support.destination.DestinationResolver", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "A pluggable org.springframework.jms.support.de [...]
+    "errorHandler": { "index": 65, "kind": "parameter", "displayName": "Error Handler", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.springframework.util.ErrorHandler", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Specifies a org.springframework.util.ErrorHandler to be invoked in case of any uncaugh [...]
+    "exceptionListener": { "index": 66, "kind": "parameter", "displayName": "Exception Listener", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "jakarta.jms.ExceptionListener", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Specifies the JMS Exception Listener that is to be notified of any underlying JMS ex [...]
+    "headerFilterStrategy": { "index": 67, "kind": "parameter", "displayName": "Header Filter Strategy", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom HeaderFilterStrategy to filter header to and from Camel message." },
+    "idleConsumerLimit": { "index": 68, "kind": "parameter", "displayName": "Idle Consumer Limit", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Specify the limit for the number of consumers that are allowed to be idle at any given time." },
+    "idleTaskExecutionLimit": { "index": 69, "kind": "parameter", "displayName": "Idle Task Execution Limit", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Specifies the limit for idle executions of a receive task, not having received [...]
+    "includeAllJMSXProperties": { "index": 70, "kind": "parameter", "displayName": "Include All JMSXProperties", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Whether to include all JMSXxxx properties when mapping from JMS to  [...]
+    "jmsKeyFormatStrategy": { "index": 71, "kind": "parameter", "displayName": "Jms Key Format Strategy", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.jms.JmsKeyFormatStrategy", "enum": [ "default", "passthrough" ], "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Pluggable strate [...]
+    "mapJmsMessage": { "index": 72, "kind": "parameter", "displayName": "Map Jms Message", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Specifies whether Camel should auto map the received JMS message to a suited payload type, [...]
+    "maxMessagesPerTask": { "index": 73, "kind": "parameter", "displayName": "Max Messages Per Task", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": -1, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "The number of messages per task. -1 is unlimited. If you use a range for concurrent c [...]
+    "messageConverter": { "index": 74, "kind": "parameter", "displayName": "Message Converter", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.springframework.jms.support.converter.MessageConverter", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "To use a custom Spring org.springframework.jms.support.co [...]
+    "messageCreatedStrategy": { "index": 75, "kind": "parameter", "displayName": "Message Created Strategy", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.jms.MessageCreatedStrategy", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "To use the given MessageCreatedStrategy which are [...]
+    "messageIdEnabled": { "index": 76, "kind": "parameter", "displayName": "Message Id Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "When sending, specifies whether message IDs should be added. This is just an hint to [...]
+    "messageListenerContainerFactory": { "index": 77, "kind": "parameter", "displayName": "Message Listener Container Factory", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.jms.MessageListenerContainerFactory", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Registry ID of the Me [...]
+    "messageTimestampEnabled": { "index": 78, "kind": "parameter", "displayName": "Message Timestamp Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Specifies whether timestamps should be enabled by default on sending m [...]
+    "pubSubNoLocal": { "index": 79, "kind": "parameter", "displayName": "Pub Sub No Local", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Specifies whether to inhibit the delivery of messages published by its own connection." },
+    "receiveTimeout": { "index": 80, "kind": "parameter", "displayName": "Receive Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "1000", "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "The timeout for receiving messages (in milliseconds)." },
+    "recoveryInterval": { "index": 81, "kind": "parameter", "displayName": "Recovery Interval", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "5000", "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Specifies the interval between recovery attempts, i.e. when a connection is being ref [...]
+    "requestTimeoutCheckerInterval": { "index": 82, "kind": "parameter", "displayName": "Request Timeout Checker Interval", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "1000", "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Configures how often Camel should check for timed out Exc [...]
+    "synchronous": { "index": 83, "kind": "parameter", "displayName": "Synchronous", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Sets whether synchronous processing should be strictly used" },
+    "transferException": { "index": 84, "kind": "parameter", "displayName": "Transfer Exception", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "If enabled and you are using Request Reply messaging (InOut) and an Exchange faile [...]
+    "transferExchange": { "index": 85, "kind": "parameter", "displayName": "Transfer Exchange", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "You can transfer the exchange over the wire instead of just the body and headers. Th [...]
+    "useMessageIDAsCorrelationID": { "index": 86, "kind": "parameter", "displayName": "Use Message IDAs Correlation ID", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Specifies whether JMSMessageID should always be used as JMS [...]
+    "waitForProvisionCorrelationToBeUpdatedCounter": { "index": 87, "kind": "parameter", "displayName": "Wait For Provision Correlation To Be Updated Counter", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 50, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Number of times to wait for [...]
+    "waitForProvisionCorrelationToBeUpdatedThreadSleepingTime": { "index": 88, "kind": "parameter", "displayName": "Wait For Provision Correlation To Be Updated Thread Sleeping Time", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "100", "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": [...]
+    "errorHandlerLoggingLevel": { "index": 89, "kind": "parameter", "displayName": "Error Handler Logging Level", "group": "logging", "label": "consumer,logging", "required": false, "type": "object", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "WARN", "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configu [...]
+    "errorHandlerLogStackTrace": { "index": 90, "kind": "parameter", "displayName": "Error Handler Log Stack Trace", "group": "logging", "label": "consumer,logging", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Allows to control whether stacktraces should be logged or [...]
+    "password": { "index": 91, "kind": "parameter", "displayName": "Password", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Password to use with the ConnectionFactory. You can also configure username\/password directly on the ConnectionFactory." },
+    "username": { "index": 92, "kind": "parameter", "displayName": "Username", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Username to use with the ConnectionFactory. You can also configure username\/password directly on the ConnectionFactory." },
+    "transacted": { "index": 93, "kind": "parameter", "displayName": "Transacted", "group": "transaction", "label": "transaction", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Specifies whether to use transacted mode" },
+    "transactedInOut": { "index": 94, "kind": "parameter", "displayName": "Transacted In Out", "group": "transaction", "label": "transaction", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Specifies whether InOut operations (request reply) default to using transacted  [...]
+    "lazyCreateTransactionManager": { "index": 95, "kind": "parameter", "displayName": "Lazy Create Transaction Manager", "group": "transaction (advanced)", "label": "transaction,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "If true, Camel will create a JmsT [...]
+    "transactionManager": { "index": 96, "kind": "parameter", "displayName": "Transaction Manager", "group": "transaction (advanced)", "label": "transaction,advanced", "required": false, "type": "object", "javaType": "org.springframework.transaction.PlatformTransactionManager", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "The Spring transaction mana [...]
+    "transactionName": { "index": 97, "kind": "parameter", "displayName": "Transaction Name", "group": "transaction (advanced)", "label": "transaction,advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "The name of the transaction to use." },
+    "transactionTimeout": { "index": 98, "kind": "parameter", "displayName": "Transaction Timeout", "group": "transaction (advanced)", "label": "transaction,advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": -1, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "The timeout value of the transaction (in seconds), if using t [...]
+  }
+}
diff --git a/components-starter/camel-activemq-starter/pom.xml b/components-starter/camel-activemq-starter/pom.xml
new file mode 100644
index 00000000000..56ff9bc2740
--- /dev/null
+++ b/components-starter/camel-activemq-starter/pom.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.apache.camel.springboot</groupId>
+    <artifactId>components-starter</artifactId>
+    <version>4.0.0-SNAPSHOT</version>
+  </parent>
+  <artifactId>camel-activemq-starter</artifactId>
+  <packaging>jar</packaging>
+  <name>Camel SB Starters :: ActiveMQ</name>
+  <dependencies>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter</artifactId>
+      <version>${spring-boot-version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.camel</groupId>
+      <artifactId>camel-activemq</artifactId>
+      <version>${camel-version}</version>
+    </dependency>
+    <!--START OF GENERATED CODE-->
+    <dependency>
+      <groupId>org.apache.camel.springboot</groupId>
+      <artifactId>camel-core-starter</artifactId>
+    </dependency>
+    <!--END OF GENERATED CODE-->
+  </dependencies>
+</project>
diff --git a/components-starter/camel-activemq-starter/src/main/docs/activemq.json b/components-starter/camel-activemq-starter/src/main/docs/activemq.json
new file mode 100644
index 00000000000..89e88e5ceac
--- /dev/null
+++ b/components-starter/camel-activemq-starter/src/main/docs/activemq.json
@@ -0,0 +1,712 @@
+{
+  "groups": [
+    {
+      "name": "camel.component.activemq",
+      "type": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration"
+    },
+    {
+      "name": "camel.component.activemq.customizer",
+      "type": "org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon$CustomizerProperties",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "sourceMethod": "getCustomizer()"
+    }
+  ],
+  "properties": [
+    {
+      "name": "camel.component.activemq.accept-messages-while-stopping",
+      "type": "java.lang.Boolean",
+      "description": "Specifies whether the consumer accept messages while it is stopping. You may consider enabling this option, if you start and stop JMS routes at runtime, while there are still messages enqueued on the queue. If this option is false, and you stop the JMS route, then messages may be rejected, and the JMS broker would have to attempt redeliveries, which yet again may be rejected, and eventually the message may be moved at a dead letter queue on the JMS broker. To avoid  [...]
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": false
+    },
+    {
+      "name": "camel.component.activemq.acknowledgement-mode-name",
+      "type": "java.lang.String",
+      "description": "The JMS acknowledgement name, which is one of: SESSION_TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": "AUTO_ACKNOWLEDGE"
+    },
+    {
+      "name": "camel.component.activemq.allow-additional-headers",
+      "type": "java.lang.String",
+      "description": "This option is used to allow additional headers which may have values that are invalid according to JMS specification. For example some message systems such as WMQ do this with header names using prefix JMS_IBM_MQMD_ containing values with byte array or other invalid types. You can specify multiple header names separated by comma, and use as suffix for wildcard matching.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration"
+    },
+    {
+      "name": "camel.component.activemq.allow-auto-wired-connection-factory",
+      "type": "java.lang.Boolean",
+      "description": "Whether to auto-discover ConnectionFactory from the registry, if no connection factory has been configured. If only one instance of ConnectionFactory is found then it will be used. This is enabled by default.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": true
+    },
+    {
+      "name": "camel.component.activemq.allow-auto-wired-destination-resolver",
+      "type": "java.lang.Boolean",
+      "description": "Whether to auto-discover DestinationResolver from the registry, if no destination resolver has been configured. If only one instance of DestinationResolver is found then it will be used. This is enabled by default.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": true
+    },
+    {
+      "name": "camel.component.activemq.allow-null-body",
+      "type": "java.lang.Boolean",
+      "description": "Whether to allow sending messages with no body. If this option is false and the message body is null, then an JMSException is thrown.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": true
+    },
+    {
+      "name": "camel.component.activemq.allow-reply-manager-quick-stop",
+      "type": "java.lang.Boolean",
+      "description": "Whether the DefaultMessageListenerContainer used in the reply managers for request-reply messaging allow the DefaultMessageListenerContainer.runningAllowed flag to quick stop in case JmsConfiguration#isAcceptMessagesWhileStopping is enabled, and org.apache.camel.CamelContext is currently being stopped. This quick stop ability is enabled by default in the regular JMS consumers but to enable for reply managers you must enable this flag.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": false
+    },
+    {
+      "name": "camel.component.activemq.allow-serialized-headers",
+      "type": "java.lang.Boolean",
+      "description": "Controls whether or not to include serialized headers. Applies only when transferExchange is true. This requires that the objects are serializable. Camel will exclude any non-serializable objects and log it at WARN level.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": false
+    },
+    {
+      "name": "camel.component.activemq.always-copy-message",
+      "type": "java.lang.Boolean",
+      "description": "If true, Camel will always make a JMS message copy of the message when it is passed to the producer for sending. Copying the message is needed in some situations, such as when a replyToDestinationSelectorName is set (incidentally, Camel will set the alwaysCopyMessage option to true, if a replyToDestinationSelectorName is set)",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": false
+    },
+    {
+      "name": "camel.component.activemq.artemis-consumer-priority",
+      "type": "java.lang.Integer",
+      "description": "Consumer priorities allow you to ensure that high priority consumers receive messages while they are active. Normally, active consumers connected to a queue receive messages from it in a round-robin fashion. When consumer priorities are in use, messages are delivered round-robin if multiple active consumers exist with the same high priority. Messages will only going to lower priority consumers when the high priority consumers do not have credit available to consume  [...]
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration"
+    },
+    {
+      "name": "camel.component.activemq.artemis-streaming-enabled",
+      "type": "java.lang.Boolean",
+      "description": "Whether optimizing for Apache Artemis streaming mode. This can reduce memory overhead when using Artemis with JMS StreamMessage types. This option must only be enabled if Apache Artemis is being used.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": false
+    },
+    {
+      "name": "camel.component.activemq.async-consumer",
+      "type": "java.lang.Boolean",
+      "description": "Whether the JmsConsumer processes the Exchange asynchronously. If enabled then the JmsConsumer may pickup the next message from the JMS queue, while the previous message is being processed asynchronously (by the Asynchronous Routing Engine). This means that messages may be processed not 100% strictly in order. If disabled (as default) then the Exchange is fully processed before the JmsConsumer will pickup the next message from the JMS queue. Note if transacted has b [...]
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": false
+    },
+    {
+      "name": "camel.component.activemq.async-start-listener",
+      "type": "java.lang.Boolean",
+      "description": "Whether to startup the JmsConsumer message listener asynchronously, when starting a route. For example if a JmsConsumer cannot get a connection to a remote JMS broker, then it may block while retrying and\/or failover. This will cause Camel to block while starting routes. By setting this option to true, you will let routes startup, while the JmsConsumer connects to the JMS broker using a dedicated thread in asynchronous mode. If this option is used, then beware that [...]
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": false
+    },
+    {
+      "name": "camel.component.activemq.async-stop-listener",
+      "type": "java.lang.Boolean",
+      "description": "Whether to stop the JmsConsumer message listener asynchronously, when stopping a route.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": false
+    },
+    {
+      "name": "camel.component.activemq.auto-startup",
+      "type": "java.lang.Boolean",
+      "description": "Specifies whether the consumer container should auto-startup.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": true
+    },
+    {
+      "name": "camel.component.activemq.autowired-enabled",
+      "type": "java.lang.Boolean",
+      "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 type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": true
+    },
+    {
+      "name": "camel.component.activemq.broker-url",
+      "type": "java.lang.String",
+      "description": "Sets the broker URL to use to connect to ActiveMQ. If none configured then localhost:61616 is used by default (however can be overridden by configuration from environment variables)",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration"
+    },
+    {
+      "name": "camel.component.activemq.cache-level",
+      "type": "java.lang.Integer",
+      "description": "Sets the cache level by ID for the underlying JMS resources. See cacheLevelName option for more details.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration"
+    },
+    {
+      "name": "camel.component.activemq.cache-level-name",
+      "type": "java.lang.String",
+      "description": "Sets the cache level by name for the underlying JMS resources. Possible values are: CACHE_AUTO, CACHE_CONNECTION, CACHE_CONSUMER, CACHE_NONE, and CACHE_SESSION. The default setting is CACHE_AUTO. See the Spring documentation and Transactions Cache Levels for more information.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": "CACHE_AUTO"
+    },
+    {
+      "name": "camel.component.activemq.client-id",
+      "type": "java.lang.String",
+      "description": "Sets the JMS client ID to use. Note that this value, if specified, must be unique and can only be used by a single JMS connection instance. It is typically only required for durable topic subscriptions. If using Apache ActiveMQ you may prefer to use Virtual Topics instead.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration"
+    },
+    {
+      "name": "camel.component.activemq.concurrent-consumers",
+      "type": "java.lang.Integer",
+      "description": "Specifies the default number of concurrent consumers when consuming from JMS (not for request\/reply over JMS). See also the maxMessagesPerTask option to control dynamic scaling up\/down of threads. When doing request\/reply over JMS then the option replyToConcurrentConsumers is used to control number of concurrent consumers on the reply message listener.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": 1
+    },
+    {
+      "name": "camel.component.activemq.configuration",
+      "type": "org.apache.camel.component.jms.JmsConfiguration",
+      "description": "To use a shared JMS configuration. The option is a org.apache.camel.component.jms.JmsConfiguration type.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration"
+    },
+    {
+      "name": "camel.component.activemq.connection-factory",
+      "type": "jakarta.jms.ConnectionFactory",
+      "description": "The connection factory to be use. A connection factory must be configured either on the component or endpoint. The option is a jakarta.jms.ConnectionFactory type.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration"
+    },
+    {
+      "name": "camel.component.activemq.consumer-type",
+      "type": "org.apache.camel.component.jms.ConsumerType",
+      "description": "The consumer type to use, which can be one of: Simple, Default, or Custom. The consumer type determines which Spring JMS listener to use. Default will use org.springframework.jms.listener.DefaultMessageListenerContainer, Simple will use org.springframework.jms.listener.SimpleMessageListenerContainer. When Custom is specified, the MessageListenerContainerFactory defined by the messageListenerContainerFactory option will determine what org.springframework.jms.listener [...]
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration"
+    },
+    {
+      "name": "camel.component.activemq.correlation-property",
+      "type": "java.lang.String",
+      "description": "When using InOut exchange pattern use this JMS property instead of JMSCorrelationID JMS property to correlate messages. If set messages will be correlated solely on the value of this property JMSCorrelationID property will be ignored and not set by Camel.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration"
+    },
+    {
+      "name": "camel.component.activemq.customizer.enabled",
+      "type": "java.lang.Boolean",
+      "sourceType": "org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon$CustomizerProperties"
+    },
+    {
+      "name": "camel.component.activemq.default-task-executor-type",
+      "type": "org.apache.camel.component.jms.DefaultTaskExecutorType",
+      "description": "Specifies what default TaskExecutor type to use in the DefaultMessageListenerContainer, for both consumer endpoints and the ReplyTo consumer of producer endpoints. Possible values: SimpleAsync (uses Spring's SimpleAsyncTaskExecutor) or ThreadPool (uses Spring's ThreadPoolTaskExecutor with optimal values - cached threadpool-like). If not set, it defaults to the previous behaviour, which uses a cached thread pool for consumer endpoints and SimpleAsync for reply consum [...]
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration"
+    },
+    {
+      "name": "camel.component.activemq.delivery-delay",
+      "type": "java.lang.Long",
+      "description": "Sets delivery delay to use for send calls for JMS. This option requires JMS 2.0 compliant broker.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": -1
+    },
+    {
+      "name": "camel.component.activemq.delivery-mode",
+      "type": "java.lang.Integer",
+      "description": "Specifies the delivery mode to be used. Possible values are those defined by jakarta.jms.DeliveryMode. NON_PERSISTENT = 1 and PERSISTENT = 2.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration"
+    },
+    {
+      "name": "camel.component.activemq.delivery-persistent",
+      "type": "java.lang.Boolean",
+      "description": "Specifies whether persistent delivery is used by default.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": true
+    },
+    {
+      "name": "camel.component.activemq.destination-resolver",
+      "type": "org.springframework.jms.support.destination.DestinationResolver",
+      "description": "A pluggable org.springframework.jms.support.destination.DestinationResolver that allows you to use your own resolver (for example, to lookup the real destination in a JNDI registry). The option is a org.springframework.jms.support.destination.DestinationResolver type.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration"
+    },
+    {
+      "name": "camel.component.activemq.disable-reply-to",
+      "type": "java.lang.Boolean",
+      "description": "Specifies whether Camel ignores the JMSReplyTo header in messages. If true, Camel does not send a reply back to the destination specified in the JMSReplyTo header. You can use this option if you want Camel to consume from a route and you do not want Camel to automatically send back a reply message because another component in your code handles the reply message. You can also use this option if you want to use Camel as a proxy between different message brokers and yo [...]
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": false
+    },
+    {
+      "name": "camel.component.activemq.disable-time-to-live",
+      "type": "java.lang.Boolean",
+      "description": "Use this option to force disabling time to live. For example when you do request\/reply over JMS, then Camel will by default use the requestTimeout value as time to live on the message being sent. The problem is that the sender and receiver systems have to have their clocks synchronized, so they are in sync. This is not always so easy to archive. So you can use disableTimeToLive=true to not set a time to live value on the sent message. Then the message will not expi [...]
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": false
+    },
+    {
+      "name": "camel.component.activemq.durable-subscription-name",
+      "type": "java.lang.String",
+      "description": "The durable subscriber name for specifying durable topic subscriptions. The clientId option must be configured as well.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration"
+    },
+    {
+      "name": "camel.component.activemq.eager-loading-of-properties",
+      "type": "java.lang.Boolean",
+      "description": "Enables eager loading of JMS properties and payload as soon as a message is loaded which generally is inefficient as the JMS properties may not be required but sometimes can catch early any issues with the underlying JMS provider and the use of JMS properties. See also the option eagerPoisonBody.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": false
+    },
+    {
+      "name": "camel.component.activemq.eager-poison-body",
+      "type": "java.lang.String",
+      "description": "If eagerLoadingOfProperties is enabled and the JMS message payload (JMS body or JMS properties) is poison (cannot be read\/mapped), then set this text as the message body instead so the message can be processed (the cause of the poison are already stored as exception on the Exchange). This can be turned off by setting eagerPoisonBody=false. See also the option eagerLoadingOfProperties.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": "Poison JMS message due to ${exception.message}"
+    },
+    {
+      "name": "camel.component.activemq.enabled",
+      "type": "java.lang.Boolean",
+      "description": "Whether to enable auto configuration of the activemq component. This is enabled by default.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration"
+    },
+    {
+      "name": "camel.component.activemq.error-handler",
+      "type": "org.springframework.util.ErrorHandler",
+      "description": "Specifies a org.springframework.util.ErrorHandler to be invoked in case of any uncaught exceptions thrown while processing a Message. By default these exceptions will be logged at the WARN level, if no errorHandler has been configured. You can configure logging level and whether stack traces should be logged using errorHandlerLoggingLevel and errorHandlerLogStackTrace options. This makes it much easier to configure, than having to code a custom errorHandler. The opt [...]
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration"
+    },
+    {
+      "name": "camel.component.activemq.error-handler-log-stack-trace",
+      "type": "java.lang.Boolean",
+      "description": "Allows to control whether stacktraces should be logged or not, by the default errorHandler.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": true
+    },
+    {
+      "name": "camel.component.activemq.error-handler-logging-level",
+      "type": "org.apache.camel.LoggingLevel",
+      "description": "Allows to configure the default errorHandler logging level for logging uncaught exceptions.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration"
+    },
+    {
+      "name": "camel.component.activemq.exception-listener",
+      "type": "jakarta.jms.ExceptionListener",
+      "description": "Specifies the JMS Exception Listener that is to be notified of any underlying JMS exceptions. The option is a jakarta.jms.ExceptionListener type.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration"
+    },
+    {
+      "name": "camel.component.activemq.explicit-qos-enabled",
+      "type": "java.lang.Boolean",
+      "description": "Set if the deliveryMode, priority or timeToLive qualities of service should be used when sending messages. This option is based on Spring's JmsTemplate. The deliveryMode, priority and timeToLive options are applied to the current endpoint. This contrasts with the preserveMessageQos option, which operates at message granularity, reading QoS properties exclusively from the Camel In message headers.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": false
+    },
+    {
+      "name": "camel.component.activemq.expose-listener-session",
+      "type": "java.lang.Boolean",
+      "description": "Specifies whether the listener session should be exposed when consuming messages.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": false
+    },
+    {
+      "name": "camel.component.activemq.force-send-original-message",
+      "type": "java.lang.Boolean",
+      "description": "When using mapJmsMessage=false Camel will create a new JMS message to send to a new JMS destination if you touch the headers (get or set) during the route. Set this option to true to force Camel to send the original JMS message that was received.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": false
+    },
+    {
+      "name": "camel.component.activemq.format-date-headers-to-iso8601",
+      "type": "java.lang.Boolean",
+      "description": "Sets whether JMS date properties should be formatted according to the ISO 8601 standard.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": false
+    },
+    {
+      "name": "camel.component.activemq.header-filter-strategy",
+      "type": "org.apache.camel.spi.HeaderFilterStrategy",
+      "description": "To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message. The option is a org.apache.camel.spi.HeaderFilterStrategy type.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration"
+    },
+    {
+      "name": "camel.component.activemq.idle-consumer-limit",
+      "type": "java.lang.Integer",
+      "description": "Specify the limit for the number of consumers that are allowed to be idle at any given time.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": 1
+    },
+    {
+      "name": "camel.component.activemq.idle-task-execution-limit",
+      "type": "java.lang.Integer",
+      "description": "Specifies the limit for idle executions of a receive task, not having received any message within its execution. If this limit is reached, the task will shut down and leave receiving to other executing tasks (in the case of dynamic scheduling; see the maxConcurrentConsumers setting). There is additional doc available from Spring.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": 1
+    },
+    {
+      "name": "camel.component.activemq.include-all-jmsx-properties",
+      "type": "java.lang.Boolean",
+      "description": "Whether to include all JMSXxxx properties when mapping from JMS to Camel Message. Setting this to true will include properties such as JMSXAppID, and JMSXUserID etc. Note: If you are using a custom headerFilterStrategy then this option does not apply.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": false
+    },
+    {
+      "name": "camel.component.activemq.include-sent-jms-message-id",
+      "type": "java.lang.Boolean",
+      "description": "Only applicable when sending to JMS destination using InOnly (eg fire and forget). Enabling this option will enrich the Camel Exchange with the actual JMSMessageID that was used by the JMS client when the message was sent to the JMS destination.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": false
+    },
+    {
+      "name": "camel.component.activemq.jms-key-format-strategy",
+      "type": "org.apache.camel.component.jms.JmsKeyFormatStrategy",
+      "description": "Pluggable strategy for encoding and decoding JMS keys so they can be compliant with the JMS specification. Camel provides two implementations out of the box: default and passthrough. The default strategy will safely marshal dots and hyphens (. and -). The passthrough strategy leaves the key as is. Can be used for JMS brokers which do not care whether JMS header keys contain illegal characters. You can provide your own implementation of the org.apache.camel.component [...]
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration"
+    },
+    {
+      "name": "camel.component.activemq.jms-message-type",
+      "type": "org.apache.camel.component.jms.JmsMessageType",
+      "description": "Allows you to force the use of a specific jakarta.jms.Message implementation for sending JMS messages. Possible values are: Bytes, Map, Object, Stream, Text. By default, Camel would determine which JMS message type to use from the In body type. This option allows you to specify it.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration"
+    },
+    {
+      "name": "camel.component.activemq.lazy-create-transaction-manager",
+      "type": "java.lang.Boolean",
+      "description": "If true, Camel will create a JmsTransactionManager, if there is no transactionManager injected when option transacted=true.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": true
+    },
+    {
+      "name": "camel.component.activemq.lazy-start-producer",
+      "type": "java.lang.Boolean",
+      "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the [...]
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": false
+    },
+    {
+      "name": "camel.component.activemq.map-jms-message",
+      "type": "java.lang.Boolean",
+      "description": "Specifies whether Camel should auto map the received JMS message to a suited payload type, such as jakarta.jms.TextMessage to a String etc.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": true
+    },
+    {
+      "name": "camel.component.activemq.max-concurrent-consumers",
+      "type": "java.lang.Integer",
+      "description": "Specifies the maximum number of concurrent consumers when consuming from JMS (not for request\/reply over JMS). See also the maxMessagesPerTask option to control dynamic scaling up\/down of threads. When doing request\/reply over JMS then the option replyToMaxConcurrentConsumers is used to control number of concurrent consumers on the reply message listener.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration"
+    },
+    {
+      "name": "camel.component.activemq.max-messages-per-task",
+      "type": "java.lang.Integer",
+      "description": "The number of messages per task. -1 is unlimited. If you use a range for concurrent consumers (eg min max), then this option can be used to set a value to eg 100 to control how fast the consumers will shrink when less work is required.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": -1
+    },
+    {
+      "name": "camel.component.activemq.message-converter",
+      "type": "org.springframework.jms.support.converter.MessageConverter",
+      "description": "To use a custom Spring org.springframework.jms.support.converter.MessageConverter so you can be in control how to map to\/from a jakarta.jms.Message. The option is a org.springframework.jms.support.converter.MessageConverter type.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration"
+    },
+    {
+      "name": "camel.component.activemq.message-created-strategy",
+      "type": "org.apache.camel.component.jms.MessageCreatedStrategy",
+      "description": "To use the given MessageCreatedStrategy which are invoked when Camel creates new instances of jakarta.jms.Message objects when Camel is sending a JMS message. The option is a org.apache.camel.component.jms.MessageCreatedStrategy type.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration"
+    },
+    {
+      "name": "camel.component.activemq.message-id-enabled",
+      "type": "java.lang.Boolean",
+      "description": "When sending, specifies whether message IDs should be added. This is just an hint to the JMS broker. If the JMS provider accepts this hint, these messages must have the message ID set to null; if the provider ignores the hint, the message ID must be set to its normal unique value.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": true
+    },
+    {
+      "name": "camel.component.activemq.message-listener-container-factory",
+      "type": "org.apache.camel.component.jms.MessageListenerContainerFactory",
+      "description": "Registry ID of the MessageListenerContainerFactory used to determine what org.springframework.jms.listener.AbstractMessageListenerContainer to use to consume messages. Setting this will automatically set consumerType to Custom. The option is a org.apache.camel.component.jms.MessageListenerContainerFactory type.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration"
+    },
+    {
+      "name": "camel.component.activemq.message-timestamp-enabled",
+      "type": "java.lang.Boolean",
+      "description": "Specifies whether timestamps should be enabled by default on sending messages. This is just an hint to the JMS broker. If the JMS provider accepts this hint, these messages must have the timestamp set to zero; if the provider ignores the hint the timestamp must be set to its normal value.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": true
+    },
+    {
+      "name": "camel.component.activemq.password",
+      "type": "java.lang.String",
+      "description": "Password to use with the ConnectionFactory. You can also configure username\/password directly on the ConnectionFactory.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration"
+    },
+    {
+      "name": "camel.component.activemq.preserve-message-qos",
+      "type": "java.lang.Boolean",
+      "description": "Set to true, if you want to send message using the QoS settings specified on the message, instead of the QoS settings on the JMS endpoint. The following three headers are considered JMSPriority, JMSDeliveryMode, and JMSExpiration. You can provide all or only some of them. If not provided, Camel will fall back to use the values from the endpoint instead. So, when using this option, the headers override the values from the endpoint. The explicitQosEnabled option, by c [...]
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": false
+    },
+    {
+      "name": "camel.component.activemq.priority",
+      "type": "java.lang.Integer",
+      "description": "Values greater than 1 specify the message priority when sending (where 1 is the lowest priority and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option to have any effect.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": 4
+    },
+    {
+      "name": "camel.component.activemq.pub-sub-no-local",
+      "type": "java.lang.Boolean",
+      "description": "Specifies whether to inhibit the delivery of messages published by its own connection.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": false
+    },
+    {
+      "name": "camel.component.activemq.queue-browse-strategy",
+      "type": "org.apache.camel.component.jms.QueueBrowseStrategy",
+      "description": "To use a custom QueueBrowseStrategy when browsing queues. The option is a org.apache.camel.component.jms.QueueBrowseStrategy type.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration"
+    },
+    {
+      "name": "camel.component.activemq.receive-timeout",
+      "type": "java.lang.Long",
+      "description": "The timeout for receiving messages (in milliseconds). The option is a long type.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": 1000
+    },
+    {
+      "name": "camel.component.activemq.recovery-interval",
+      "type": "java.lang.Long",
+      "description": "Specifies the interval between recovery attempts, i.e. when a connection is being refreshed, in milliseconds. The default is 5000 ms, that is, 5 seconds. The option is a long type.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": 5000
+    },
+    {
+      "name": "camel.component.activemq.reply-to",
+      "type": "java.lang.String",
+      "description": "Provides an explicit ReplyTo destination (overrides any incoming value of Message.getJMSReplyTo() in consumer).",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration"
+    },
+    {
+      "name": "camel.component.activemq.reply-to-cache-level-name",
+      "type": "java.lang.String",
+      "description": "Sets the cache level by name for the reply consumer when doing request\/reply over JMS. This option only applies when using fixed reply queues (not temporary). Camel will by default use: CACHE_CONSUMER for exclusive or shared w\/ replyToSelectorName. And CACHE_SESSION for shared without replyToSelectorName. Some JMS brokers such as IBM WebSphere may require to set the replyToCacheLevelName=CACHE_NONE to work. Note: If using temporary queues then CACHE_NONE is not al [...]
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration"
+    },
+    {
+      "name": "camel.component.activemq.reply-to-concurrent-consumers",
+      "type": "java.lang.Integer",
+      "description": "Specifies the default number of concurrent consumers when doing request\/reply over JMS. See also the maxMessagesPerTask option to control dynamic scaling up\/down of threads.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": 1
+    },
+    {
+      "name": "camel.component.activemq.reply-to-consumer-type",
+      "type": "org.apache.camel.component.jms.ConsumerType",
+      "description": "The consumer type of the reply consumer (when doing request\/reply), which can be one of: Simple, Default, or Custom. The consumer type determines which Spring JMS listener to use. Default will use org.springframework.jms.listener.DefaultMessageListenerContainer, Simple will use org.springframework.jms.listener.SimpleMessageListenerContainer. When Custom is specified, the MessageListenerContainerFactory defined by the messageListenerContainerFactory option will dete [...]
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration"
+    },
+    {
+      "name": "camel.component.activemq.reply-to-delivery-persistent",
+      "type": "java.lang.Boolean",
+      "description": "Specifies whether to use persistent delivery by default for replies.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": true
+    },
+    {
+      "name": "camel.component.activemq.reply-to-destination-selector-name",
+      "type": "java.lang.String",
+      "description": "Sets the JMS Selector using the fixed name to be used so you can filter out your own replies from the others when using a shared queue (that is, if you are not using a temporary reply queue).",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration"
+    },
+    {
+      "name": "camel.component.activemq.reply-to-max-concurrent-consumers",
+      "type": "java.lang.Integer",
+      "description": "Specifies the maximum number of concurrent consumers when using request\/reply over JMS. See also the maxMessagesPerTask option to control dynamic scaling up\/down of threads.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration"
+    },
+    {
+      "name": "camel.component.activemq.reply-to-on-timeout-max-concurrent-consumers",
+      "type": "java.lang.Integer",
+      "description": "Specifies the maximum number of concurrent consumers for continue routing when timeout occurred when using request\/reply over JMS.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": 1
+    },
+    {
+      "name": "camel.component.activemq.reply-to-override",
+      "type": "java.lang.String",
+      "description": "Provides an explicit ReplyTo destination in the JMS message, which overrides the setting of replyTo. It is useful if you want to forward the message to a remote Queue and receive the reply message from the ReplyTo destination.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration"
+    },
+    {
+      "name": "camel.component.activemq.reply-to-same-destination-allowed",
+      "type": "java.lang.Boolean",
+      "description": "Whether a JMS consumer is allowed to send a reply message to the same destination that the consumer is using to consume from. This prevents an endless loop by consuming and sending back the same message to itself.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": false
+    },
+    {
+      "name": "camel.component.activemq.reply-to-type",
+      "type": "org.apache.camel.component.jms.ReplyToType",
+      "description": "Allows for explicitly specifying which kind of strategy to use for replyTo queues when doing request\/reply over JMS. Possible values are: Temporary, Shared, or Exclusive. By default Camel will use temporary queues. However if replyTo has been configured, then Shared is used by default. This option allows you to use exclusive queues instead of shared ones. See Camel JMS documentation for more details, and especially the notes about the implications if running in a c [...]
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration"
+    },
+    {
+      "name": "camel.component.activemq.request-timeout",
+      "type": "java.lang.Long",
+      "description": "The timeout for waiting for a reply when using the InOut Exchange Pattern (in milliseconds). The default is 20 seconds. You can include the header CamelJmsRequestTimeout to override this endpoint configured timeout value, and thus have per message individual timeout values. See also the requestTimeoutCheckerInterval option. The option is a long type.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": 20000
+    },
+    {
+      "name": "camel.component.activemq.request-timeout-checker-interval",
+      "type": "java.lang.Long",
+      "description": "Configures how often Camel should check for timed out Exchanges when doing request\/reply over JMS. By default Camel checks once per second. But if you must react faster when a timeout occurs, then you can lower this interval, to check more frequently. The timeout is determined by the option requestTimeout. The option is a long type.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": 1000
+    },
+    {
+      "name": "camel.component.activemq.selector",
+      "type": "java.lang.String",
+      "description": "Sets the JMS selector to use",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration"
+    },
+    {
+      "name": "camel.component.activemq.stream-message-type-enabled",
+      "type": "java.lang.Boolean",
+      "description": "Sets whether StreamMessage type is enabled or not. Message payloads of streaming kind such as files, InputStream, etc will either by sent as BytesMessage or StreamMessage. This option controls which kind will be used. By default BytesMessage is used which enforces the entire message payload to be read into memory. By enabling this option the message payload is read into memory in chunks and each chunk is then written to the StreamMessage until no more data.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": false
+    },
+    {
+      "name": "camel.component.activemq.subscription-durable",
+      "type": "java.lang.Boolean",
+      "description": "Set whether to make the subscription durable. The durable subscription name to be used can be specified through the subscriptionName property. Default is false. Set this to true to register a durable subscription, typically in combination with a subscriptionName value (unless your message listener class name is good enough as subscription name). Only makes sense when listening to a topic (pub-sub domain), therefore this method switches the pubSubDomain flag as well.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": false
+    },
+    {
+      "name": "camel.component.activemq.subscription-name",
+      "type": "java.lang.String",
+      "description": "Set the name of a subscription to create. To be applied in case of a topic (pub-sub domain) with a shared or durable subscription. The subscription name needs to be unique within this client's JMS client id. Default is the class name of the specified message listener. Note: Only 1 concurrent consumer (which is the default of this message listener container) is allowed for each subscription, except for a shared subscription (which requires JMS 2.0).",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration"
+    },
+    {
+      "name": "camel.component.activemq.subscription-shared",
+      "type": "java.lang.Boolean",
+      "description": "Set whether to make the subscription shared. The shared subscription name to be used can be specified through the subscriptionName property. Default is false. Set this to true to register a shared subscription, typically in combination with a subscriptionName value (unless your message listener class name is good enough as subscription name). Note that shared subscriptions may also be durable, so this flag can (and often will) be combined with subscriptionDurable as [...]
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": false
+    },
+    {
+      "name": "camel.component.activemq.synchronous",
+      "type": "java.lang.Boolean",
+      "description": "Sets whether synchronous processing should be strictly used",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": false
+    },
+    {
+      "name": "camel.component.activemq.task-executor",
+      "type": "org.springframework.core.task.TaskExecutor",
+      "description": "Allows you to specify a custom task executor for consuming messages. The option is a org.springframework.core.task.TaskExecutor type.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration"
+    },
+    {
+      "name": "camel.component.activemq.test-connection-on-startup",
+      "type": "java.lang.Boolean",
+      "description": "Specifies whether to test the connection on startup. This ensures that when Camel starts that all the JMS consumers have a valid connection to the JMS broker. If a connection cannot be granted then Camel throws an exception on startup. This ensures that Camel is not started with failed connections. The JMS producers is tested as well.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": false
+    },
+    {
+      "name": "camel.component.activemq.time-to-live",
+      "type": "java.lang.Long",
+      "description": "When sending messages, specifies the time-to-live of the message (in milliseconds).",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": -1
+    },
+    {
+      "name": "camel.component.activemq.transacted",
+      "type": "java.lang.Boolean",
+      "description": "Specifies whether to use transacted mode",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": false
+    },
+    {
+      "name": "camel.component.activemq.transacted-in-out",
+      "type": "java.lang.Boolean",
+      "description": "Specifies whether InOut operations (request reply) default to using transacted mode If this flag is set to true, then Spring JmsTemplate will have sessionTransacted set to true, and the acknowledgeMode as transacted on the JmsTemplate used for InOut operations. Note from Spring JMS: that within a JTA transaction, the parameters passed to createQueue, createTopic methods are not taken into account. Depending on the Java EE transaction context, the container makes its [...]
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": false
+    },
+    {
+      "name": "camel.component.activemq.transaction-manager",
+      "type": "org.springframework.transaction.PlatformTransactionManager",
+      "description": "The Spring transaction manager to use. The option is a org.springframework.transaction.PlatformTransactionManager type.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration"
+    },
+    {
+      "name": "camel.component.activemq.transaction-name",
+      "type": "java.lang.String",
+      "description": "The name of the transaction to use.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration"
+    },
+    {
+      "name": "camel.component.activemq.transaction-timeout",
+      "type": "java.lang.Integer",
+      "description": "The timeout value of the transaction (in seconds), if using transacted mode.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": -1
+    },
+    {
+      "name": "camel.component.activemq.transfer-exception",
+      "type": "java.lang.Boolean",
+      "description": "If enabled and you are using Request Reply messaging (InOut) and an Exchange failed on the consumer side, then the caused Exception will be send back in response as a jakarta.jms.ObjectMessage. If the client is Camel, the returned Exception is rethrown. This allows you to use Camel JMS as a bridge in your routing - for example, using persistent queues to enable robust routing. Notice that if you also have transferExchange enabled, this option takes precedence. The c [...]
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": false
+    },
+    {
+      "name": "camel.component.activemq.transfer-exchange",
+      "type": "java.lang.Boolean",
+      "description": "You can transfer the exchange over the wire instead of just the body and headers. The following fields are transferred: In body, Out body, Fault body, In headers, Out headers, Fault headers, exchange properties, exchange exception. This requires that the objects are serializable. Camel will exclude any non-serializable objects and log it at WARN level. You must enable this option on both the producer and consumer side, so Camel knows the payloads is an Exchange and  [...]
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": false
+    },
+    {
+      "name": "camel.component.activemq.trust-all-packages",
+      "type": "java.lang.Boolean",
+      "description": "Define if all Java packages are trusted or not (for Java object JMS message types). Notice its not recommended practice to send Java serialized objects over network. Setting this to true can expose security risks, so use this with care.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": false
+    },
+    {
+      "name": "camel.component.activemq.use-message-id-as-correlation-id",
+      "type": "java.lang.Boolean",
+      "description": "Specifies whether JMSMessageID should always be used as JMSCorrelationID for InOut messages.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": false
+    },
+    {
+      "name": "camel.component.activemq.use-pooled-connection",
+      "type": "java.lang.Boolean",
+      "description": "Enables or disables whether a PooledConnectionFactory will be used so that when messages are sent to ActiveMQ from outside of a message consuming thread, pooling will be used rather than the default with the Spring JmsTemplate which will create a new connection, session, producer for each message then close them all down again. The default value is true.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": true
+    },
+    {
+      "name": "camel.component.activemq.use-single-connection",
+      "type": "java.lang.Boolean",
+      "description": "Enables or disables whether a Spring SingleConnectionFactory will be used so that when messages are sent to ActiveMQ from outside of a message consuming thread, pooling will be used rather than the default with the Spring JmsTemplate which will create a new connection, session, producer for each message then close them all down again. The default value is false and a pooled connection is used by default.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": false
+    },
+    {
+      "name": "camel.component.activemq.username",
+      "type": "java.lang.String",
+      "description": "Username to use with the ConnectionFactory. You can also configure username\/password directly on the ConnectionFactory.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration"
+    },
+    {
+      "name": "camel.component.activemq.wait-for-provision-correlation-to-be-updated-counter",
+      "type": "java.lang.Integer",
+      "description": "Number of times to wait for provisional correlation id to be updated to the actual correlation id when doing request\/reply over JMS and when the option useMessageIDAsCorrelationID is enabled.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": 50
+    },
+    {
+      "name": "camel.component.activemq.wait-for-provision-correlation-to-be-updated-thread-sleeping-time",
+      "type": "java.lang.Long",
+      "description": "Interval in millis to sleep each time while waiting for provisional correlation id to be updated. The option is a long type.",
+      "sourceType": "org.apache.camel.component.activemq.springboot.ActiveMQComponentConfiguration",
+      "defaultValue": 100
+    }
+  ],
+  "hints": []
+}
\ No newline at end of file
diff --git a/components-starter/camel-activemq-starter/src/main/java/org/apache/camel/component/activemq/springboot/ActiveMQComponentAutoConfiguration.java b/components-starter/camel-activemq-starter/src/main/java/org/apache/camel/component/activemq/springboot/ActiveMQComponentAutoConfiguration.java
new file mode 100644
index 00000000000..b03b46d7dc4
--- /dev/null
+++ b/components-starter/camel-activemq-starter/src/main/java/org/apache/camel/component/activemq/springboot/ActiveMQComponentAutoConfiguration.java
@@ -0,0 +1,77 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.activemq.springboot;
+
+import org.apache.camel.CamelContext;
+import org.apache.camel.Component;
+import org.apache.camel.component.activemq.ActiveMQComponent;
+import org.apache.camel.spi.ComponentCustomizer;
+import org.apache.camel.spring.boot.CamelAutoConfiguration;
+import org.apache.camel.spring.boot.ComponentConfigurationProperties;
+import org.apache.camel.spring.boot.util.CamelPropertiesHelper;
+import org.apache.camel.spring.boot.util.ConditionalOnCamelContextAndAutoConfigurationBeans;
+import org.apache.camel.spring.boot.util.ConditionalOnHierarchicalProperties;
+import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.autoconfigure.AutoConfigureAfter;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Conditional;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Configuration(proxyBeanMethods = false)
+@Conditional(ConditionalOnCamelContextAndAutoConfigurationBeans.class)
+@EnableConfigurationProperties({ComponentConfigurationProperties.class,ActiveMQComponentConfiguration.class})
+@ConditionalOnHierarchicalProperties({"camel.component", "camel.component.activemq"})
+@AutoConfigureAfter({CamelAutoConfiguration.class, ActiveMQComponentConverter.class})
+public class ActiveMQComponentAutoConfiguration {
+
+    @Autowired
+    private ApplicationContext applicationContext;
+    private final CamelContext camelContext;
+    @Autowired
+    private ActiveMQComponentConfiguration configuration;
+
+    public ActiveMQComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    @Lazy
+    @Bean
+    public ComponentCustomizer configureActiveMQComponent() {
+        return new ComponentCustomizer() {
+            @Override
+            public void configure(String name, Component target) {
+                CamelPropertiesHelper.copyProperties(camelContext, configuration, target);
+            }
+            @Override
+            public boolean isEnabled(String name, Component target) {
+                return HierarchicalPropertiesEvaluator.evaluate(
+                        applicationContext,
+                        "camel.component.customizer",
+                        "camel.component.activemq.customizer")
+                    && target instanceof ActiveMQComponent;
+            }
+        };
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-activemq-starter/src/main/java/org/apache/camel/component/activemq/springboot/ActiveMQComponentConfiguration.java b/components-starter/camel-activemq-starter/src/main/java/org/apache/camel/component/activemq/springboot/ActiveMQComponentConfiguration.java
new file mode 100644
index 00000000000..9f64bc7d705
--- /dev/null
+++ b/components-starter/camel-activemq-starter/src/main/java/org/apache/camel/component/activemq/springboot/ActiveMQComponentConfiguration.java
@@ -0,0 +1,1670 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.activemq.springboot;
+
+import jakarta.jms.ConnectionFactory;
+import jakarta.jms.ExceptionListener;
+import org.apache.camel.LoggingLevel;
+import org.apache.camel.component.activemq.ActiveMQComponent;
+import org.apache.camel.component.jms.ConsumerType;
+import org.apache.camel.component.jms.DefaultTaskExecutorType;
+import org.apache.camel.component.jms.JmsConfiguration;
+import org.apache.camel.component.jms.JmsKeyFormatStrategy;
+import org.apache.camel.component.jms.JmsMessageType;
+import org.apache.camel.component.jms.MessageCreatedStrategy;
+import org.apache.camel.component.jms.MessageListenerContainerFactory;
+import org.apache.camel.component.jms.QueueBrowseStrategy;
+import org.apache.camel.component.jms.ReplyToType;
+import org.apache.camel.spi.HeaderFilterStrategy;
+import org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.core.task.TaskExecutor;
+import org.springframework.jms.support.converter.MessageConverter;
+import org.springframework.jms.support.destination.DestinationResolver;
+import org.springframework.transaction.PlatformTransactionManager;
+import org.springframework.util.ErrorHandler;
+
+/**
+ * Send messages to (or consume from) Apache ActiveMQ. This component extends
+ * the Camel JMS component.
+ * 
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@ConfigurationProperties(prefix = "camel.component.activemq")
+public class ActiveMQComponentConfiguration
+        extends
+            ComponentConfigurationPropertiesCommon {
+
+    /**
+     * Whether to enable auto configuration of the activemq component. This is
+     * enabled by default.
+     */
+    private Boolean enabled;
+    /**
+     * Sets the broker URL to use to connect to ActiveMQ. If none configured
+     * then localhost:61616 is used by default (however can be overridden by
+     * configuration from environment variables)
+     */
+    private String brokerUrl;
+    /**
+     * Sets the JMS client ID to use. Note that this value, if specified, must
+     * be unique and can only be used by a single JMS connection instance. It is
+     * typically only required for durable topic subscriptions. If using Apache
+     * ActiveMQ you may prefer to use Virtual Topics instead.
+     */
+    private String clientId;
+    /**
+     * The connection factory to be use. A connection factory must be configured
+     * either on the component or endpoint. The option is a
+     * jakarta.jms.ConnectionFactory type.
+     */
+    private ConnectionFactory connectionFactory;
+    /**
+     * Specifies whether Camel ignores the JMSReplyTo header in messages. If
+     * true, Camel does not send a reply back to the destination specified in
+     * the JMSReplyTo header. You can use this option if you want Camel to
+     * consume from a route and you do not want Camel to automatically send back
+     * a reply message because another component in your code handles the reply
+     * message. You can also use this option if you want to use Camel as a proxy
+     * between different message brokers and you want to route message from one
+     * system to another.
+     */
+    private Boolean disableReplyTo = false;
+    /**
+     * The durable subscriber name for specifying durable topic subscriptions.
+     * The clientId option must be configured as well.
+     */
+    private String durableSubscriptionName;
+    /**
+     * Allows you to force the use of a specific jakarta.jms.Message
+     * implementation for sending JMS messages. Possible values are: Bytes, Map,
+     * Object, Stream, Text. By default, Camel would determine which JMS message
+     * type to use from the In body type. This option allows you to specify it.
+     */
+    private JmsMessageType jmsMessageType;
+    /**
+     * Provides an explicit ReplyTo destination (overrides any incoming value of
+     * Message.getJMSReplyTo() in consumer).
+     */
+    private String replyTo;
+    /**
+     * Specifies whether to test the connection on startup. This ensures that
+     * when Camel starts that all the JMS consumers have a valid connection to
+     * the JMS broker. If a connection cannot be granted then Camel throws an
+     * exception on startup. This ensures that Camel is not started with failed
+     * connections. The JMS producers is tested as well.
+     */
+    private Boolean testConnectionOnStartup = false;
+    /**
+     * Enables or disables whether a PooledConnectionFactory will be used so
+     * that when messages are sent to ActiveMQ from outside of a message
+     * consuming thread, pooling will be used rather than the default with the
+     * Spring JmsTemplate which will create a new connection, session, producer
+     * for each message then close them all down again. The default value is
+     * true.
+     */
+    private Boolean usePooledConnection = true;
+    /**
+     * Enables or disables whether a Spring SingleConnectionFactory will be used
+     * so that when messages are sent to ActiveMQ from outside of a message
+     * consuming thread, pooling will be used rather than the default with the
+     * Spring JmsTemplate which will create a new connection, session, producer
+     * for each message then close them all down again. The default value is
+     * false and a pooled connection is used by default.
+     */
+    private Boolean useSingleConnection = false;
+    /**
+     * The JMS acknowledgement name, which is one of: SESSION_TRANSACTED,
+     * CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE
+     */
+    private String acknowledgementModeName = "AUTO_ACKNOWLEDGE";
+    /**
+     * Consumer priorities allow you to ensure that high priority consumers
+     * receive messages while they are active. Normally, active consumers
+     * connected to a queue receive messages from it in a round-robin fashion.
+     * When consumer priorities are in use, messages are delivered round-robin
+     * if multiple active consumers exist with the same high priority. Messages
+     * will only going to lower priority consumers when the high priority
+     * consumers do not have credit available to consume the message, or those
+     * high priority consumers have declined to accept the message (for instance
+     * because it does not meet the criteria of any selectors associated with
+     * the consumer).
+     */
+    private Integer artemisConsumerPriority;
+    /**
+     * Whether the JmsConsumer processes the Exchange asynchronously. If enabled
+     * then the JmsConsumer may pickup the next message from the JMS queue,
+     * while the previous message is being processed asynchronously (by the
+     * Asynchronous Routing Engine). This means that messages may be processed
+     * not 100% strictly in order. If disabled (as default) then the Exchange is
+     * fully processed before the JmsConsumer will pickup the next message from
+     * the JMS queue. Note if transacted has been enabled, then
+     * asyncConsumer=true does not run asynchronously, as transaction must be
+     * executed synchronously (Camel 3.0 may support async transactions).
+     */
+    private Boolean asyncConsumer = false;
+    /**
+     * Specifies whether the consumer container should auto-startup.
+     */
+    private Boolean autoStartup = true;
+    /**
+     * Sets the cache level by ID for the underlying JMS resources. See
+     * cacheLevelName option for more details.
+     */
+    private Integer cacheLevel;
+    /**
+     * Sets the cache level by name for the underlying JMS resources. Possible
+     * values are: CACHE_AUTO, CACHE_CONNECTION, CACHE_CONSUMER, CACHE_NONE, and
+     * CACHE_SESSION. The default setting is CACHE_AUTO. See the Spring
+     * documentation and Transactions Cache Levels for more information.
+     */
+    private String cacheLevelName = "CACHE_AUTO";
+    /**
+     * Specifies the default number of concurrent consumers when consuming from
+     * JMS (not for request/reply over JMS). See also the maxMessagesPerTask
+     * option to control dynamic scaling up/down of threads. When doing
+     * request/reply over JMS then the option replyToConcurrentConsumers is used
+     * to control number of concurrent consumers on the reply message listener.
+     */
+    private Integer concurrentConsumers = 1;
+    /**
+     * Specifies the maximum number of concurrent consumers when consuming from
+     * JMS (not for request/reply over JMS). See also the maxMessagesPerTask
+     * option to control dynamic scaling up/down of threads. When doing
+     * request/reply over JMS then the option replyToMaxConcurrentConsumers is
+     * used to control number of concurrent consumers on the reply message
+     * listener.
+     */
+    private Integer maxConcurrentConsumers;
+    /**
+     * Specifies whether to use persistent delivery by default for replies.
+     */
+    private Boolean replyToDeliveryPersistent = true;
+    /**
+     * Sets the JMS selector to use
+     */
+    private String selector;
+    /**
+     * Set whether to make the subscription durable. The durable subscription
+     * name to be used can be specified through the subscriptionName property.
+     * Default is false. Set this to true to register a durable subscription,
+     * typically in combination with a subscriptionName value (unless your
+     * message listener class name is good enough as subscription name). Only
+     * makes sense when listening to a topic (pub-sub domain), therefore this
+     * method switches the pubSubDomain flag as well.
+     */
+    private Boolean subscriptionDurable = false;
+    /**
+     * Set the name of a subscription to create. To be applied in case of a
+     * topic (pub-sub domain) with a shared or durable subscription. The
+     * subscription name needs to be unique within this client's JMS client id.
+     * Default is the class name of the specified message listener. Note: Only 1
+     * concurrent consumer (which is the default of this message listener
+     * container) is allowed for each subscription, except for a shared
+     * subscription (which requires JMS 2.0).
+     */
+    private String subscriptionName;
+    /**
+     * Set whether to make the subscription shared. The shared subscription name
+     * to be used can be specified through the subscriptionName property.
+     * Default is false. Set this to true to register a shared subscription,
+     * typically in combination with a subscriptionName value (unless your
+     * message listener class name is good enough as subscription name). Note
+     * that shared subscriptions may also be durable, so this flag can (and
+     * often will) be combined with subscriptionDurable as well. Only makes
+     * sense when listening to a topic (pub-sub domain), therefore this method
+     * switches the pubSubDomain flag as well. Requires a JMS 2.0 compatible
+     * message broker.
+     */
+    private Boolean subscriptionShared = false;
+    /**
+     * Specifies whether the consumer accept messages while it is stopping. You
+     * may consider enabling this option, if you start and stop JMS routes at
+     * runtime, while there are still messages enqueued on the queue. If this
+     * option is false, and you stop the JMS route, then messages may be
+     * rejected, and the JMS broker would have to attempt redeliveries, which
+     * yet again may be rejected, and eventually the message may be moved at a
+     * dead letter queue on the JMS broker. To avoid this its recommended to
+     * enable this option.
+     */
+    private Boolean acceptMessagesWhileStopping = false;
+    /**
+     * Whether the DefaultMessageListenerContainer used in the reply managers
+     * for request-reply messaging allow the
+     * DefaultMessageListenerContainer.runningAllowed flag to quick stop in case
+     * JmsConfiguration#isAcceptMessagesWhileStopping is enabled, and
+     * org.apache.camel.CamelContext is currently being stopped. This quick stop
+     * ability is enabled by default in the regular JMS consumers but to enable
+     * for reply managers you must enable this flag.
+     */
+    private Boolean allowReplyManagerQuickStop = false;
+    /**
+     * The consumer type to use, which can be one of: Simple, Default, or
+     * Custom. The consumer type determines which Spring JMS listener to use.
+     * Default will use
+     * org.springframework.jms.listener.DefaultMessageListenerContainer, Simple
+     * will use org.springframework.jms.listener.SimpleMessageListenerContainer.
+     * When Custom is specified, the MessageListenerContainerFactory defined by
+     * the messageListenerContainerFactory option will determine what
+     * org.springframework.jms.listener.AbstractMessageListenerContainer to use.
+     */
+    private ConsumerType consumerType = ConsumerType.Default;
+    /**
+     * Specifies what default TaskExecutor type to use in the
+     * DefaultMessageListenerContainer, for both consumer endpoints and the
+     * ReplyTo consumer of producer endpoints. Possible values: SimpleAsync
+     * (uses Spring's SimpleAsyncTaskExecutor) or ThreadPool (uses Spring's
+     * ThreadPoolTaskExecutor with optimal values - cached threadpool-like). If
+     * not set, it defaults to the previous behaviour, which uses a cached
+     * thread pool for consumer endpoints and SimpleAsync for reply consumers.
+     * The use of ThreadPool is recommended to reduce thread trash in elastic
+     * configurations with dynamically increasing and decreasing concurrent
+     * consumers.
+     */
+    private DefaultTaskExecutorType defaultTaskExecutorType;
+    /**
+     * Enables eager loading of JMS properties and payload as soon as a message
+     * is loaded which generally is inefficient as the JMS properties may not be
+     * required but sometimes can catch early any issues with the underlying JMS
+     * provider and the use of JMS properties. See also the option
+     * eagerPoisonBody.
+     */
+    private Boolean eagerLoadingOfProperties = false;
+    /**
+     * If eagerLoadingOfProperties is enabled and the JMS message payload (JMS
+     * body or JMS properties) is poison (cannot be read/mapped), then set this
+     * text as the message body instead so the message can be processed (the
+     * cause of the poison are already stored as exception on the Exchange).
+     * This can be turned off by setting eagerPoisonBody=false. See also the
+     * option eagerLoadingOfProperties.
+     */
+    private String eagerPoisonBody = "Poison JMS message due to ${exception.message}";
+    /**
+     * Specifies whether the listener session should be exposed when consuming
+     * messages.
+     */
+    private Boolean exposeListenerSession = false;
+    /**
+     * The consumer type of the reply consumer (when doing request/reply), which
+     * can be one of: Simple, Default, or Custom. The consumer type determines
+     * which Spring JMS listener to use. Default will use
+     * org.springframework.jms.listener.DefaultMessageListenerContainer, Simple
+     * will use org.springframework.jms.listener.SimpleMessageListenerContainer.
+     * When Custom is specified, the MessageListenerContainerFactory defined by
+     * the messageListenerContainerFactory option will determine what
+     * org.springframework.jms.listener.AbstractMessageListenerContainer to use.
+     */
+    private ConsumerType replyToConsumerType = ConsumerType.Default;
+    /**
+     * Whether a JMS consumer is allowed to send a reply message to the same
+     * destination that the consumer is using to consume from. This prevents an
+     * endless loop by consuming and sending back the same message to itself.
+     */
+    private Boolean replyToSameDestinationAllowed = false;
+    /**
+     * Allows you to specify a custom task executor for consuming messages. The
+     * option is a org.springframework.core.task.TaskExecutor type.
+     */
+    private TaskExecutor taskExecutor;
+    /**
+     * Sets delivery delay to use for send calls for JMS. This option requires
+     * JMS 2.0 compliant broker.
+     */
+    private Long deliveryDelay = -1L;
+    /**
+     * Specifies the delivery mode to be used. Possible values are those defined
+     * by jakarta.jms.DeliveryMode. NON_PERSISTENT = 1 and PERSISTENT = 2.
+     */
+    private Integer deliveryMode;
+    /**
+     * Specifies whether persistent delivery is used by default.
+     */
+    private Boolean deliveryPersistent = true;
+    /**
+     * Set if the deliveryMode, priority or timeToLive qualities of service
+     * should be used when sending messages. This option is based on Spring's
+     * JmsTemplate. The deliveryMode, priority and timeToLive options are
+     * applied to the current endpoint. This contrasts with the
+     * preserveMessageQos option, which operates at message granularity, reading
+     * QoS properties exclusively from the Camel In message headers.
+     */
+    private Boolean explicitQosEnabled = false;
+    /**
+     * Sets whether JMS date properties should be formatted according to the ISO
+     * 8601 standard.
+     */
+    private Boolean formatDateHeadersToIso8601 = false;
+    /**
+     * Whether the producer should be started lazy (on the first message). By
+     * starting lazy you can use this to allow CamelContext and routes to
+     * startup in situations where a producer may otherwise fail during starting
+     * and cause the route to fail being started. By deferring this startup to
+     * be lazy then the startup failure can be handled during routing messages
+     * via Camel's routing error handlers. Beware that when the first message is
+     * processed then creating and starting the producer may take a little time
+     * and prolong the total processing time of the processing.
+     */
+    private Boolean lazyStartProducer = false;
+    /**
+     * Set to true, if you want to send message using the QoS settings specified
+     * on the message, instead of the QoS settings on the JMS endpoint. The
+     * following three headers are considered JMSPriority, JMSDeliveryMode, and
+     * JMSExpiration. You can provide all or only some of them. If not provided,
+     * Camel will fall back to use the values from the endpoint instead. So,
+     * when using this option, the headers override the values from the
+     * endpoint. The explicitQosEnabled option, by contrast, will only use
+     * options set on the endpoint, and not values from the message header.
+     */
+    private Boolean preserveMessageQos = false;
+    /**
+     * Values greater than 1 specify the message priority when sending (where 1
+     * is the lowest priority and 9 is the highest). The explicitQosEnabled
+     * option must also be enabled in order for this option to have any effect.
+     */
+    private Integer priority = 4;
+    /**
+     * Specifies the default number of concurrent consumers when doing
+     * request/reply over JMS. See also the maxMessagesPerTask option to control
+     * dynamic scaling up/down of threads.
+     */
+    private Integer replyToConcurrentConsumers = 1;
+    /**
+     * Specifies the maximum number of concurrent consumers when using
+     * request/reply over JMS. See also the maxMessagesPerTask option to control
+     * dynamic scaling up/down of threads.
+     */
+    private Integer replyToMaxConcurrentConsumers;
+    /**
+     * Specifies the maximum number of concurrent consumers for continue routing
+     * when timeout occurred when using request/reply over JMS.
+     */
+    private Integer replyToOnTimeoutMaxConcurrentConsumers = 1;
+    /**
+     * Provides an explicit ReplyTo destination in the JMS message, which
+     * overrides the setting of replyTo. It is useful if you want to forward the
+     * message to a remote Queue and receive the reply message from the ReplyTo
+     * destination.
+     */
+    private String replyToOverride;
+    /**
+     * Allows for explicitly specifying which kind of strategy to use for
+     * replyTo queues when doing request/reply over JMS. Possible values are:
+     * Temporary, Shared, or Exclusive. By default Camel will use temporary
+     * queues. However if replyTo has been configured, then Shared is used by
+     * default. This option allows you to use exclusive queues instead of shared
+     * ones. See Camel JMS documentation for more details, and especially the
+     * notes about the implications if running in a clustered environment, and
+     * the fact that Shared reply queues has lower performance than its
+     * alternatives Temporary and Exclusive.
+     */
+    private ReplyToType replyToType;
+    /**
+     * The timeout for waiting for a reply when using the InOut Exchange Pattern
+     * (in milliseconds). The default is 20 seconds. You can include the header
+     * CamelJmsRequestTimeout to override this endpoint configured timeout
+     * value, and thus have per message individual timeout values. See also the
+     * requestTimeoutCheckerInterval option. The option is a long type.
+     */
+    private Long requestTimeout = 20000L;
+    /**
+     * When sending messages, specifies the time-to-live of the message (in
+     * milliseconds).
+     */
+    private Long timeToLive = -1L;
+    /**
+     * This option is used to allow additional headers which may have values
+     * that are invalid according to JMS specification. For example some message
+     * systems such as WMQ do this with header names using prefix JMS_IBM_MQMD_
+     * containing values with byte array or other invalid types. You can specify
+     * multiple header names separated by comma, and use as suffix for wildcard
+     * matching.
+     */
+    private String allowAdditionalHeaders;
+    /**
+     * Whether to allow sending messages with no body. If this option is false
+     * and the message body is null, then an JMSException is thrown.
+     */
+    private Boolean allowNullBody = true;
+    /**
+     * If true, Camel will always make a JMS message copy of the message when it
+     * is passed to the producer for sending. Copying the message is needed in
+     * some situations, such as when a replyToDestinationSelectorName is set
+     * (incidentally, Camel will set the alwaysCopyMessage option to true, if a
+     * replyToDestinationSelectorName is set)
+     */
+    private Boolean alwaysCopyMessage = false;
+    /**
+     * When using InOut exchange pattern use this JMS property instead of
+     * JMSCorrelationID JMS property to correlate messages. If set messages will
+     * be correlated solely on the value of this property JMSCorrelationID
+     * property will be ignored and not set by Camel.
+     */
+    private String correlationProperty;
+    /**
+     * Use this option to force disabling time to live. For example when you do
+     * request/reply over JMS, then Camel will by default use the requestTimeout
+     * value as time to live on the message being sent. The problem is that the
+     * sender and receiver systems have to have their clocks synchronized, so
+     * they are in sync. This is not always so easy to archive. So you can use
+     * disableTimeToLive=true to not set a time to live value on the sent
+     * message. Then the message will not expire on the receiver system. See
+     * below in section About time to live for more details.
+     */
+    private Boolean disableTimeToLive = false;
+    /**
+     * When using mapJmsMessage=false Camel will create a new JMS message to
+     * send to a new JMS destination if you touch the headers (get or set)
+     * during the route. Set this option to true to force Camel to send the
+     * original JMS message that was received.
+     */
+    private Boolean forceSendOriginalMessage = false;
+    /**
+     * Only applicable when sending to JMS destination using InOnly (eg fire and
+     * forget). Enabling this option will enrich the Camel Exchange with the
+     * actual JMSMessageID that was used by the JMS client when the message was
+     * sent to the JMS destination.
+     */
+    private Boolean includeSentJmsMessageId = false;
+    /**
+     * Sets the cache level by name for the reply consumer when doing
+     * request/reply over JMS. This option only applies when using fixed reply
+     * queues (not temporary). Camel will by default use: CACHE_CONSUMER for
+     * exclusive or shared w/ replyToSelectorName. And CACHE_SESSION for shared
+     * without replyToSelectorName. Some JMS brokers such as IBM WebSphere may
+     * require to set the replyToCacheLevelName=CACHE_NONE to work. Note: If
+     * using temporary queues then CACHE_NONE is not allowed, and you must use a
+     * higher value such as CACHE_CONSUMER or CACHE_SESSION.
+     */
+    private String replyToCacheLevelName;
+    /**
+     * Sets the JMS Selector using the fixed name to be used so you can filter
+     * out your own replies from the others when using a shared queue (that is,
+     * if you are not using a temporary reply queue).
+     */
+    private String replyToDestinationSelectorName;
+    /**
+     * Sets whether StreamMessage type is enabled or not. Message payloads of
+     * streaming kind such as files, InputStream, etc will either by sent as
+     * BytesMessage or StreamMessage. This option controls which kind will be
+     * used. By default BytesMessage is used which enforces the entire message
+     * payload to be read into memory. By enabling this option the message
+     * payload is read into memory in chunks and each chunk is then written to
+     * the StreamMessage until no more data.
+     */
+    private Boolean streamMessageTypeEnabled = false;
+    /**
+     * Whether to auto-discover ConnectionFactory from the registry, if no
+     * connection factory has been configured. If only one instance of
+     * ConnectionFactory is found then it will be used. This is enabled by
+     * default.
+     */
+    private Boolean allowAutoWiredConnectionFactory = true;
+    /**
+     * Whether to auto-discover DestinationResolver from the registry, if no
+     * destination resolver has been configured. If only one instance of
+     * DestinationResolver is found then it will be used. This is enabled by
+     * default.
+     */
+    private Boolean allowAutoWiredDestinationResolver = true;
+    /**
+     * Controls whether or not to include serialized headers. Applies only when
+     * transferExchange is true. This requires that the objects are
+     * serializable. Camel will exclude any non-serializable objects and log it
+     * at WARN level.
+     */
+    private Boolean allowSerializedHeaders = false;
+    /**
+     * Whether optimizing for Apache Artemis streaming mode. This can reduce
+     * memory overhead when using Artemis with JMS StreamMessage types. This
+     * option must only be enabled if Apache Artemis is being used.
+     */
+    private Boolean artemisStreamingEnabled = false;
+    /**
+     * Whether to startup the JmsConsumer message listener asynchronously, when
+     * starting a route. For example if a JmsConsumer cannot get a connection to
+     * a remote JMS broker, then it may block while retrying and/or failover.
+     * This will cause Camel to block while starting routes. By setting this
+     * option to true, you will let routes startup, while the JmsConsumer
+     * connects to the JMS broker using a dedicated thread in asynchronous mode.
+     * If this option is used, then beware that if the connection could not be
+     * established, then an exception is logged at WARN level, and the consumer
+     * will not be able to receive messages; You can then restart the route to
+     * retry.
+     */
+    private Boolean asyncStartListener = false;
+    /**
+     * Whether to stop the JmsConsumer message listener asynchronously, when
+     * stopping a route.
+     */
+    private Boolean asyncStopListener = false;
+    /**
+     * Whether autowiring is enabled. This is used for automatic autowiring
+     * options (the option must be marked as autowired) by looking up in the
+     * registry to find if there is a single instance of matching type, which
+     * then gets configured on the component. This can be used for automatic
+     * configuring JDBC data sources, JMS connection factories, AWS Clients,
+     * etc.
+     */
+    private Boolean autowiredEnabled = true;
+    /**
+     * To use a shared JMS configuration. The option is a
+     * org.apache.camel.component.jms.JmsConfiguration type.
+     */
+    private JmsConfiguration configuration;
+    /**
+     * A pluggable
+     * org.springframework.jms.support.destination.DestinationResolver that
+     * allows you to use your own resolver (for example, to lookup the real
+     * destination in a JNDI registry). The option is a
+     * org.springframework.jms.support.destination.DestinationResolver type.
+     */
+    private DestinationResolver destinationResolver;
+    /**
+     * Specifies a org.springframework.util.ErrorHandler to be invoked in case
+     * of any uncaught exceptions thrown while processing a Message. By default
+     * these exceptions will be logged at the WARN level, if no errorHandler has
+     * been configured. You can configure logging level and whether stack traces
+     * should be logged using errorHandlerLoggingLevel and
+     * errorHandlerLogStackTrace options. This makes it much easier to
+     * configure, than having to code a custom errorHandler. The option is a
+     * org.springframework.util.ErrorHandler type.
+     */
+    private ErrorHandler errorHandler;
+    /**
+     * Specifies the JMS Exception Listener that is to be notified of any
+     * underlying JMS exceptions. The option is a jakarta.jms.ExceptionListener
+     * type.
+     */
+    private ExceptionListener exceptionListener;
+    /**
+     * Specify the limit for the number of consumers that are allowed to be idle
+     * at any given time.
+     */
+    private Integer idleConsumerLimit = 1;
+    /**
+     * Specifies the limit for idle executions of a receive task, not having
+     * received any message within its execution. If this limit is reached, the
+     * task will shut down and leave receiving to other executing tasks (in the
+     * case of dynamic scheduling; see the maxConcurrentConsumers setting).
+     * There is additional doc available from Spring.
+     */
+    private Integer idleTaskExecutionLimit = 1;
+    /**
+     * Whether to include all JMSXxxx properties when mapping from JMS to Camel
+     * Message. Setting this to true will include properties such as JMSXAppID,
+     * and JMSXUserID etc. Note: If you are using a custom headerFilterStrategy
+     * then this option does not apply.
+     */
+    private Boolean includeAllJmsxProperties = false;
+    /**
+     * Pluggable strategy for encoding and decoding JMS keys so they can be
+     * compliant with the JMS specification. Camel provides two implementations
+     * out of the box: default and passthrough. The default strategy will safely
+     * marshal dots and hyphens (. and -). The passthrough strategy leaves the
+     * key as is. Can be used for JMS brokers which do not care whether JMS
+     * header keys contain illegal characters. You can provide your own
+     * implementation of the org.apache.camel.component.jms.JmsKeyFormatStrategy
+     * and refer to it using the # notation.
+     */
+    private JmsKeyFormatStrategy jmsKeyFormatStrategy;
+    /**
+     * Specifies whether Camel should auto map the received JMS message to a
+     * suited payload type, such as jakarta.jms.TextMessage to a String etc.
+     */
+    private Boolean mapJmsMessage = true;
+    /**
+     * The number of messages per task. -1 is unlimited. If you use a range for
+     * concurrent consumers (eg min max), then this option can be used to set a
+     * value to eg 100 to control how fast the consumers will shrink when less
+     * work is required.
+     */
+    private Integer maxMessagesPerTask = -1;
+    /**
+     * To use a custom Spring
+     * org.springframework.jms.support.converter.MessageConverter so you can be
+     * in control how to map to/from a jakarta.jms.Message. The option is a
+     * org.springframework.jms.support.converter.MessageConverter type.
+     */
+    private MessageConverter messageConverter;
+    /**
+     * To use the given MessageCreatedStrategy which are invoked when Camel
+     * creates new instances of jakarta.jms.Message objects when Camel is
+     * sending a JMS message. The option is a
+     * org.apache.camel.component.jms.MessageCreatedStrategy type.
+     */
+    private MessageCreatedStrategy messageCreatedStrategy;
+    /**
+     * When sending, specifies whether message IDs should be added. This is just
+     * an hint to the JMS broker. If the JMS provider accepts this hint, these
+     * messages must have the message ID set to null; if the provider ignores
+     * the hint, the message ID must be set to its normal unique value.
+     */
+    private Boolean messageIdEnabled = true;
+    /**
+     * Registry ID of the MessageListenerContainerFactory used to determine what
+     * org.springframework.jms.listener.AbstractMessageListenerContainer to use
+     * to consume messages. Setting this will automatically set consumerType to
+     * Custom. The option is a
+     * org.apache.camel.component.jms.MessageListenerContainerFactory type.
+     */
+    private MessageListenerContainerFactory messageListenerContainerFactory;
+    /**
+     * Specifies whether timestamps should be enabled by default on sending
+     * messages. This is just an hint to the JMS broker. If the JMS provider
+     * accepts this hint, these messages must have the timestamp set to zero; if
+     * the provider ignores the hint the timestamp must be set to its normal
+     * value.
+     */
+    private Boolean messageTimestampEnabled = true;
+    /**
+     * Specifies whether to inhibit the delivery of messages published by its
+     * own connection.
+     */
+    private Boolean pubSubNoLocal = false;
+    /**
+     * To use a custom QueueBrowseStrategy when browsing queues. The option is a
+     * org.apache.camel.component.jms.QueueBrowseStrategy type.
+     */
+    private QueueBrowseStrategy queueBrowseStrategy;
+    /**
+     * The timeout for receiving messages (in milliseconds). The option is a
+     * long type.
+     */
+    private Long receiveTimeout = 1000L;
+    /**
+     * Specifies the interval between recovery attempts, i.e. when a connection
+     * is being refreshed, in milliseconds. The default is 5000 ms, that is, 5
+     * seconds. The option is a long type.
+     */
+    private Long recoveryInterval = 5000L;
+    /**
+     * Configures how often Camel should check for timed out Exchanges when
+     * doing request/reply over JMS. By default Camel checks once per second.
+     * But if you must react faster when a timeout occurs, then you can lower
+     * this interval, to check more frequently. The timeout is determined by the
+     * option requestTimeout. The option is a long type.
+     */
+    private Long requestTimeoutCheckerInterval = 1000L;
+    /**
+     * Sets whether synchronous processing should be strictly used
+     */
+    private Boolean synchronous = false;
+    /**
+     * If enabled and you are using Request Reply messaging (InOut) and an
+     * Exchange failed on the consumer side, then the caused Exception will be
+     * send back in response as a jakarta.jms.ObjectMessage. If the client is
+     * Camel, the returned Exception is rethrown. This allows you to use Camel
+     * JMS as a bridge in your routing - for example, using persistent queues to
+     * enable robust routing. Notice that if you also have transferExchange
+     * enabled, this option takes precedence. The caught exception is required
+     * to be serializable. The original Exception on the consumer side can be
+     * wrapped in an outer exception such as
+     * org.apache.camel.RuntimeCamelException when returned to the producer. Use
+     * this with caution as the data is using Java Object serialization and
+     * requires the received to be able to deserialize the data at Class level,
+     * which forces a strong coupling between the producers and consumer!
+     */
+    private Boolean transferException = false;
+    /**
+     * You can transfer the exchange over the wire instead of just the body and
+     * headers. The following fields are transferred: In body, Out body, Fault
+     * body, In headers, Out headers, Fault headers, exchange properties,
+     * exchange exception. This requires that the objects are serializable.
+     * Camel will exclude any non-serializable objects and log it at WARN level.
+     * You must enable this option on both the producer and consumer side, so
+     * Camel knows the payloads is an Exchange and not a regular payload. Use
+     * this with caution as the data is using Java Object serialization and
+     * requires the receiver to be able to deserialize the data at Class level,
+     * which forces a strong coupling between the producers and consumers having
+     * to use compatible Camel versions!
+     */
+    private Boolean transferExchange = false;
+    /**
+     * Define if all Java packages are trusted or not (for Java object JMS
+     * message types). Notice its not recommended practice to send Java
+     * serialized objects over network. Setting this to true can expose security
+     * risks, so use this with care.
+     */
+    private Boolean trustAllPackages = false;
+    /**
+     * Specifies whether JMSMessageID should always be used as JMSCorrelationID
+     * for InOut messages.
+     */
+    private Boolean useMessageIdAsCorrelationId = false;
+    /**
+     * Number of times to wait for provisional correlation id to be updated to
+     * the actual correlation id when doing request/reply over JMS and when the
+     * option useMessageIDAsCorrelationID is enabled.
+     */
+    private Integer waitForProvisionCorrelationToBeUpdatedCounter = 50;
+    /**
+     * Interval in millis to sleep each time while waiting for provisional
+     * correlation id to be updated. The option is a long type.
+     */
+    private Long waitForProvisionCorrelationToBeUpdatedThreadSleepingTime = 100L;
+    /**
+     * To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter
+     * header to and from Camel message. The option is a
+     * org.apache.camel.spi.HeaderFilterStrategy type.
+     */
+    private HeaderFilterStrategy headerFilterStrategy;
+    /**
+     * Allows to configure the default errorHandler logging level for logging
+     * uncaught exceptions.
+     */
+    private LoggingLevel errorHandlerLoggingLevel = LoggingLevel.WARN;
+    /**
+     * Allows to control whether stacktraces should be logged or not, by the
+     * default errorHandler.
+     */
+    private Boolean errorHandlerLogStackTrace = true;
+    /**
+     * Password to use with the ConnectionFactory. You can also configure
+     * username/password directly on the ConnectionFactory.
+     */
+    private String password;
+    /**
+     * Username to use with the ConnectionFactory. You can also configure
+     * username/password directly on the ConnectionFactory.
+     */
+    private String username;
+    /**
+     * Specifies whether to use transacted mode
+     */
+    private Boolean transacted = false;
+    /**
+     * Specifies whether InOut operations (request reply) default to using
+     * transacted mode If this flag is set to true, then Spring JmsTemplate will
+     * have sessionTransacted set to true, and the acknowledgeMode as transacted
+     * on the JmsTemplate used for InOut operations. Note from Spring JMS: that
+     * within a JTA transaction, the parameters passed to createQueue,
+     * createTopic methods are not taken into account. Depending on the Java EE
+     * transaction context, the container makes its own decisions on these
+     * values. Analogously, these parameters are not taken into account within a
+     * locally managed transaction either, since Spring JMS operates on an
+     * existing JMS Session in this case. Setting this flag to true will use a
+     * short local JMS transaction when running outside of a managed
+     * transaction, and a synchronized local JMS transaction in case of a
+     * managed transaction (other than an XA transaction) being present. This
+     * has the effect of a local JMS transaction being managed alongside the
+     * main transaction (which might be a native JDBC transaction), with the JMS
+     * transaction committing right after the main transaction.
+     */
+    private Boolean transactedInOut = false;
+    /**
+     * If true, Camel will create a JmsTransactionManager, if there is no
+     * transactionManager injected when option transacted=true.
+     */
+    private Boolean lazyCreateTransactionManager = true;
+    /**
+     * The Spring transaction manager to use. The option is a
+     * org.springframework.transaction.PlatformTransactionManager type.
+     */
+    private PlatformTransactionManager transactionManager;
+    /**
+     * The name of the transaction to use.
+     */
+    private String transactionName;
+    /**
+     * The timeout value of the transaction (in seconds), if using transacted
+     * mode.
+     */
+    private Integer transactionTimeout = -1;
+
+    public String getBrokerUrl() {
+        return brokerUrl;
+    }
+
+    public void setBrokerUrl(String brokerUrl) {
+        this.brokerUrl = brokerUrl;
+    }
+
+    public String getClientId() {
+        return clientId;
+    }
+
+    public void setClientId(String clientId) {
+        this.clientId = clientId;
+    }
+
+    public ConnectionFactory getConnectionFactory() {
+        return connectionFactory;
+    }
+
+    public void setConnectionFactory(ConnectionFactory connectionFactory) {
+        this.connectionFactory = connectionFactory;
+    }
+
+    public Boolean getDisableReplyTo() {
+        return disableReplyTo;
+    }
+
+    public void setDisableReplyTo(Boolean disableReplyTo) {
+        this.disableReplyTo = disableReplyTo;
+    }
+
+    public String getDurableSubscriptionName() {
+        return durableSubscriptionName;
+    }
+
+    public void setDurableSubscriptionName(String durableSubscriptionName) {
+        this.durableSubscriptionName = durableSubscriptionName;
+    }
+
+    public JmsMessageType getJmsMessageType() {
+        return jmsMessageType;
+    }
+
+    public void setJmsMessageType(JmsMessageType jmsMessageType) {
+        this.jmsMessageType = jmsMessageType;
+    }
+
+    public String getReplyTo() {
+        return replyTo;
+    }
+
+    public void setReplyTo(String replyTo) {
+        this.replyTo = replyTo;
+    }
+
+    public Boolean getTestConnectionOnStartup() {
+        return testConnectionOnStartup;
+    }
+
+    public void setTestConnectionOnStartup(Boolean testConnectionOnStartup) {
+        this.testConnectionOnStartup = testConnectionOnStartup;
+    }
+
+    public Boolean getUsePooledConnection() {
+        return usePooledConnection;
+    }
+
+    public void setUsePooledConnection(Boolean usePooledConnection) {
+        this.usePooledConnection = usePooledConnection;
+    }
+
+    public Boolean getUseSingleConnection() {
+        return useSingleConnection;
+    }
+
+    public void setUseSingleConnection(Boolean useSingleConnection) {
+        this.useSingleConnection = useSingleConnection;
+    }
+
+    public String getAcknowledgementModeName() {
+        return acknowledgementModeName;
+    }
+
+    public void setAcknowledgementModeName(String acknowledgementModeName) {
+        this.acknowledgementModeName = acknowledgementModeName;
+    }
+
+    public Integer getArtemisConsumerPriority() {
+        return artemisConsumerPriority;
+    }
+
+    public void setArtemisConsumerPriority(Integer artemisConsumerPriority) {
+        this.artemisConsumerPriority = artemisConsumerPriority;
+    }
+
+    public Boolean getAsyncConsumer() {
+        return asyncConsumer;
+    }
+
+    public void setAsyncConsumer(Boolean asyncConsumer) {
+        this.asyncConsumer = asyncConsumer;
+    }
+
+    public Boolean getAutoStartup() {
+        return autoStartup;
+    }
+
+    public void setAutoStartup(Boolean autoStartup) {
+        this.autoStartup = autoStartup;
+    }
+
+    public Integer getCacheLevel() {
+        return cacheLevel;
+    }
+
+    public void setCacheLevel(Integer cacheLevel) {
+        this.cacheLevel = cacheLevel;
+    }
+
+    public String getCacheLevelName() {
+        return cacheLevelName;
+    }
+
+    public void setCacheLevelName(String cacheLevelName) {
+        this.cacheLevelName = cacheLevelName;
+    }
+
+    public Integer getConcurrentConsumers() {
+        return concurrentConsumers;
+    }
+
+    public void setConcurrentConsumers(Integer concurrentConsumers) {
+        this.concurrentConsumers = concurrentConsumers;
+    }
+
+    public Integer getMaxConcurrentConsumers() {
+        return maxConcurrentConsumers;
+    }
+
+    public void setMaxConcurrentConsumers(Integer maxConcurrentConsumers) {
+        this.maxConcurrentConsumers = maxConcurrentConsumers;
+    }
+
+    public Boolean getReplyToDeliveryPersistent() {
+        return replyToDeliveryPersistent;
+    }
+
+    public void setReplyToDeliveryPersistent(Boolean replyToDeliveryPersistent) {
+        this.replyToDeliveryPersistent = replyToDeliveryPersistent;
+    }
+
+    public String getSelector() {
+        return selector;
+    }
+
+    public void setSelector(String selector) {
+        this.selector = selector;
+    }
+
+    public Boolean getSubscriptionDurable() {
+        return subscriptionDurable;
+    }
+
+    public void setSubscriptionDurable(Boolean subscriptionDurable) {
+        this.subscriptionDurable = subscriptionDurable;
+    }
+
+    public String getSubscriptionName() {
+        return subscriptionName;
+    }
+
+    public void setSubscriptionName(String subscriptionName) {
+        this.subscriptionName = subscriptionName;
+    }
+
+    public Boolean getSubscriptionShared() {
+        return subscriptionShared;
+    }
+
+    public void setSubscriptionShared(Boolean subscriptionShared) {
+        this.subscriptionShared = subscriptionShared;
+    }
+
+    public Boolean getAcceptMessagesWhileStopping() {
+        return acceptMessagesWhileStopping;
+    }
+
+    public void setAcceptMessagesWhileStopping(
+            Boolean acceptMessagesWhileStopping) {
+        this.acceptMessagesWhileStopping = acceptMessagesWhileStopping;
+    }
+
+    public Boolean getAllowReplyManagerQuickStop() {
+        return allowReplyManagerQuickStop;
+    }
+
+    public void setAllowReplyManagerQuickStop(Boolean allowReplyManagerQuickStop) {
+        this.allowReplyManagerQuickStop = allowReplyManagerQuickStop;
+    }
+
+    public ConsumerType getConsumerType() {
+        return consumerType;
+    }
+
+    public void setConsumerType(ConsumerType consumerType) {
+        this.consumerType = consumerType;
+    }
+
+    public DefaultTaskExecutorType getDefaultTaskExecutorType() {
+        return defaultTaskExecutorType;
+    }
+
+    public void setDefaultTaskExecutorType(
+            DefaultTaskExecutorType defaultTaskExecutorType) {
+        this.defaultTaskExecutorType = defaultTaskExecutorType;
+    }
+
+    public Boolean getEagerLoadingOfProperties() {
+        return eagerLoadingOfProperties;
+    }
+
+    public void setEagerLoadingOfProperties(Boolean eagerLoadingOfProperties) {
+        this.eagerLoadingOfProperties = eagerLoadingOfProperties;
+    }
+
+    public String getEagerPoisonBody() {
+        return eagerPoisonBody;
+    }
+
+    public void setEagerPoisonBody(String eagerPoisonBody) {
+        this.eagerPoisonBody = eagerPoisonBody;
+    }
+
+    public Boolean getExposeListenerSession() {
+        return exposeListenerSession;
+    }
+
+    public void setExposeListenerSession(Boolean exposeListenerSession) {
+        this.exposeListenerSession = exposeListenerSession;
+    }
+
+    public ConsumerType getReplyToConsumerType() {
+        return replyToConsumerType;
+    }
+
+    public void setReplyToConsumerType(ConsumerType replyToConsumerType) {
+        this.replyToConsumerType = replyToConsumerType;
+    }
+
+    public Boolean getReplyToSameDestinationAllowed() {
+        return replyToSameDestinationAllowed;
+    }
+
+    public void setReplyToSameDestinationAllowed(
+            Boolean replyToSameDestinationAllowed) {
+        this.replyToSameDestinationAllowed = replyToSameDestinationAllowed;
+    }
+
+    public TaskExecutor getTaskExecutor() {
+        return taskExecutor;
+    }
+
+    public void setTaskExecutor(TaskExecutor taskExecutor) {
+        this.taskExecutor = taskExecutor;
+    }
+
+    public Long getDeliveryDelay() {
+        return deliveryDelay;
+    }
+
+    public void setDeliveryDelay(Long deliveryDelay) {
+        this.deliveryDelay = deliveryDelay;
+    }
+
+    public Integer getDeliveryMode() {
+        return deliveryMode;
+    }
+
+    public void setDeliveryMode(Integer deliveryMode) {
+        this.deliveryMode = deliveryMode;
+    }
+
+    public Boolean getDeliveryPersistent() {
+        return deliveryPersistent;
+    }
+
+    public void setDeliveryPersistent(Boolean deliveryPersistent) {
+        this.deliveryPersistent = deliveryPersistent;
+    }
+
+    public Boolean getExplicitQosEnabled() {
+        return explicitQosEnabled;
+    }
+
+    public void setExplicitQosEnabled(Boolean explicitQosEnabled) {
+        this.explicitQosEnabled = explicitQosEnabled;
+    }
+
+    public Boolean getFormatDateHeadersToIso8601() {
+        return formatDateHeadersToIso8601;
+    }
+
+    public void setFormatDateHeadersToIso8601(Boolean formatDateHeadersToIso8601) {
+        this.formatDateHeadersToIso8601 = formatDateHeadersToIso8601;
+    }
+
+    public Boolean getLazyStartProducer() {
+        return lazyStartProducer;
+    }
+
+    public void setLazyStartProducer(Boolean lazyStartProducer) {
+        this.lazyStartProducer = lazyStartProducer;
+    }
+
+    public Boolean getPreserveMessageQos() {
+        return preserveMessageQos;
+    }
+
+    public void setPreserveMessageQos(Boolean preserveMessageQos) {
+        this.preserveMessageQos = preserveMessageQos;
+    }
+
+    public Integer getPriority() {
+        return priority;
+    }
+
+    public void setPriority(Integer priority) {
+        this.priority = priority;
+    }
+
+    public Integer getReplyToConcurrentConsumers() {
+        return replyToConcurrentConsumers;
+    }
+
+    public void setReplyToConcurrentConsumers(Integer replyToConcurrentConsumers) {
+        this.replyToConcurrentConsumers = replyToConcurrentConsumers;
+    }
+
+    public Integer getReplyToMaxConcurrentConsumers() {
+        return replyToMaxConcurrentConsumers;
+    }
+
+    public void setReplyToMaxConcurrentConsumers(
+            Integer replyToMaxConcurrentConsumers) {
+        this.replyToMaxConcurrentConsumers = replyToMaxConcurrentConsumers;
+    }
+
+    public Integer getReplyToOnTimeoutMaxConcurrentConsumers() {
+        return replyToOnTimeoutMaxConcurrentConsumers;
+    }
+
+    public void setReplyToOnTimeoutMaxConcurrentConsumers(
+            Integer replyToOnTimeoutMaxConcurrentConsumers) {
+        this.replyToOnTimeoutMaxConcurrentConsumers = replyToOnTimeoutMaxConcurrentConsumers;
+    }
+
+    public String getReplyToOverride() {
+        return replyToOverride;
+    }
+
+    public void setReplyToOverride(String replyToOverride) {
+        this.replyToOverride = replyToOverride;
+    }
+
+    public ReplyToType getReplyToType() {
+        return replyToType;
+    }
+
+    public void setReplyToType(ReplyToType replyToType) {
+        this.replyToType = replyToType;
+    }
+
+    public Long getRequestTimeout() {
+        return requestTimeout;
+    }
+
+    public void setRequestTimeout(Long requestTimeout) {
+        this.requestTimeout = requestTimeout;
+    }
+
+    public Long getTimeToLive() {
+        return timeToLive;
+    }
+
+    public void setTimeToLive(Long timeToLive) {
+        this.timeToLive = timeToLive;
+    }
+
+    public String getAllowAdditionalHeaders() {
+        return allowAdditionalHeaders;
+    }
+
+    public void setAllowAdditionalHeaders(String allowAdditionalHeaders) {
+        this.allowAdditionalHeaders = allowAdditionalHeaders;
+    }
+
+    public Boolean getAllowNullBody() {
+        return allowNullBody;
+    }
+
+    public void setAllowNullBody(Boolean allowNullBody) {
+        this.allowNullBody = allowNullBody;
+    }
+
+    public Boolean getAlwaysCopyMessage() {
+        return alwaysCopyMessage;
+    }
+
+    public void setAlwaysCopyMessage(Boolean alwaysCopyMessage) {
+        this.alwaysCopyMessage = alwaysCopyMessage;
+    }
+
+    public String getCorrelationProperty() {
+        return correlationProperty;
+    }
+
+    public void setCorrelationProperty(String correlationProperty) {
+        this.correlationProperty = correlationProperty;
+    }
+
+    public Boolean getDisableTimeToLive() {
+        return disableTimeToLive;
+    }
+
+    public void setDisableTimeToLive(Boolean disableTimeToLive) {
+        this.disableTimeToLive = disableTimeToLive;
+    }
+
+    public Boolean getForceSendOriginalMessage() {
+        return forceSendOriginalMessage;
+    }
+
+    public void setForceSendOriginalMessage(Boolean forceSendOriginalMessage) {
+        this.forceSendOriginalMessage = forceSendOriginalMessage;
+    }
+
+    public Boolean getIncludeSentJmsMessageId() {
+        return includeSentJmsMessageId;
+    }
+
+    public void setIncludeSentJmsMessageId(Boolean includeSentJmsMessageId) {
+        this.includeSentJmsMessageId = includeSentJmsMessageId;
+    }
+
+    public String getReplyToCacheLevelName() {
+        return replyToCacheLevelName;
+    }
+
+    public void setReplyToCacheLevelName(String replyToCacheLevelName) {
+        this.replyToCacheLevelName = replyToCacheLevelName;
+    }
+
+    public String getReplyToDestinationSelectorName() {
+        return replyToDestinationSelectorName;
+    }
+
+    public void setReplyToDestinationSelectorName(
+            String replyToDestinationSelectorName) {
+        this.replyToDestinationSelectorName = replyToDestinationSelectorName;
+    }
+
+    public Boolean getStreamMessageTypeEnabled() {
+        return streamMessageTypeEnabled;
+    }
+
+    public void setStreamMessageTypeEnabled(Boolean streamMessageTypeEnabled) {
+        this.streamMessageTypeEnabled = streamMessageTypeEnabled;
+    }
+
+    public Boolean getAllowAutoWiredConnectionFactory() {
+        return allowAutoWiredConnectionFactory;
+    }
+
+    public void setAllowAutoWiredConnectionFactory(
+            Boolean allowAutoWiredConnectionFactory) {
+        this.allowAutoWiredConnectionFactory = allowAutoWiredConnectionFactory;
+    }
+
+    public Boolean getAllowAutoWiredDestinationResolver() {
+        return allowAutoWiredDestinationResolver;
+    }
+
+    public void setAllowAutoWiredDestinationResolver(
+            Boolean allowAutoWiredDestinationResolver) {
+        this.allowAutoWiredDestinationResolver = allowAutoWiredDestinationResolver;
+    }
+
+    public Boolean getAllowSerializedHeaders() {
+        return allowSerializedHeaders;
+    }
+
+    public void setAllowSerializedHeaders(Boolean allowSerializedHeaders) {
+        this.allowSerializedHeaders = allowSerializedHeaders;
+    }
+
+    public Boolean getArtemisStreamingEnabled() {
+        return artemisStreamingEnabled;
+    }
+
+    public void setArtemisStreamingEnabled(Boolean artemisStreamingEnabled) {
+        this.artemisStreamingEnabled = artemisStreamingEnabled;
+    }
+
+    public Boolean getAsyncStartListener() {
+        return asyncStartListener;
+    }
+
+    public void setAsyncStartListener(Boolean asyncStartListener) {
+        this.asyncStartListener = asyncStartListener;
+    }
+
+    public Boolean getAsyncStopListener() {
+        return asyncStopListener;
+    }
+
+    public void setAsyncStopListener(Boolean asyncStopListener) {
+        this.asyncStopListener = asyncStopListener;
+    }
+
+    public Boolean getAutowiredEnabled() {
+        return autowiredEnabled;
+    }
+
+    public void setAutowiredEnabled(Boolean autowiredEnabled) {
+        this.autowiredEnabled = autowiredEnabled;
+    }
+
+    public JmsConfiguration getConfiguration() {
+        return configuration;
+    }
+
+    public void setConfiguration(JmsConfiguration configuration) {
+        this.configuration = configuration;
+    }
+
+    public DestinationResolver getDestinationResolver() {
+        return destinationResolver;
+    }
+
+    public void setDestinationResolver(DestinationResolver destinationResolver) {
+        this.destinationResolver = destinationResolver;
+    }
+
+    public ErrorHandler getErrorHandler() {
+        return errorHandler;
+    }
+
+    public void setErrorHandler(ErrorHandler errorHandler) {
+        this.errorHandler = errorHandler;
+    }
+
+    public ExceptionListener getExceptionListener() {
+        return exceptionListener;
+    }
+
+    public void setExceptionListener(ExceptionListener exceptionListener) {
+        this.exceptionListener = exceptionListener;
+    }
+
+    public Integer getIdleConsumerLimit() {
+        return idleConsumerLimit;
+    }
+
+    public void setIdleConsumerLimit(Integer idleConsumerLimit) {
+        this.idleConsumerLimit = idleConsumerLimit;
+    }
+
+    public Integer getIdleTaskExecutionLimit() {
+        return idleTaskExecutionLimit;
+    }
+
+    public void setIdleTaskExecutionLimit(Integer idleTaskExecutionLimit) {
+        this.idleTaskExecutionLimit = idleTaskExecutionLimit;
+    }
+
+    public Boolean getIncludeAllJmsxProperties() {
+        return includeAllJmsxProperties;
+    }
+
+    public void setIncludeAllJmsxProperties(Boolean includeAllJmsxProperties) {
+        this.includeAllJmsxProperties = includeAllJmsxProperties;
+    }
+
+    public JmsKeyFormatStrategy getJmsKeyFormatStrategy() {
+        return jmsKeyFormatStrategy;
+    }
+
+    public void setJmsKeyFormatStrategy(
+            JmsKeyFormatStrategy jmsKeyFormatStrategy) {
+        this.jmsKeyFormatStrategy = jmsKeyFormatStrategy;
+    }
+
+    public Boolean getMapJmsMessage() {
+        return mapJmsMessage;
+    }
+
+    public void setMapJmsMessage(Boolean mapJmsMessage) {
+        this.mapJmsMessage = mapJmsMessage;
+    }
+
+    public Integer getMaxMessagesPerTask() {
+        return maxMessagesPerTask;
+    }
+
+    public void setMaxMessagesPerTask(Integer maxMessagesPerTask) {
+        this.maxMessagesPerTask = maxMessagesPerTask;
+    }
+
+    public MessageConverter getMessageConverter() {
+        return messageConverter;
+    }
+
+    public void setMessageConverter(MessageConverter messageConverter) {
+        this.messageConverter = messageConverter;
+    }
+
+    public MessageCreatedStrategy getMessageCreatedStrategy() {
+        return messageCreatedStrategy;
+    }
+
+    public void setMessageCreatedStrategy(
+            MessageCreatedStrategy messageCreatedStrategy) {
+        this.messageCreatedStrategy = messageCreatedStrategy;
+    }
+
+    public Boolean getMessageIdEnabled() {
+        return messageIdEnabled;
+    }
+
+    public void setMessageIdEnabled(Boolean messageIdEnabled) {
+        this.messageIdEnabled = messageIdEnabled;
+    }
+
+    public MessageListenerContainerFactory getMessageListenerContainerFactory() {
+        return messageListenerContainerFactory;
+    }
+
+    public void setMessageListenerContainerFactory(
+            MessageListenerContainerFactory messageListenerContainerFactory) {
+        this.messageListenerContainerFactory = messageListenerContainerFactory;
+    }
+
+    public Boolean getMessageTimestampEnabled() {
+        return messageTimestampEnabled;
+    }
+
+    public void setMessageTimestampEnabled(Boolean messageTimestampEnabled) {
+        this.messageTimestampEnabled = messageTimestampEnabled;
+    }
+
+    public Boolean getPubSubNoLocal() {
+        return pubSubNoLocal;
+    }
+
+    public void setPubSubNoLocal(Boolean pubSubNoLocal) {
+        this.pubSubNoLocal = pubSubNoLocal;
+    }
+
+    public QueueBrowseStrategy getQueueBrowseStrategy() {
+        return queueBrowseStrategy;
+    }
+
+    public void setQueueBrowseStrategy(QueueBrowseStrategy queueBrowseStrategy) {
+        this.queueBrowseStrategy = queueBrowseStrategy;
+    }
+
+    public Long getReceiveTimeout() {
+        return receiveTimeout;
+    }
+
+    public void setReceiveTimeout(Long receiveTimeout) {
+        this.receiveTimeout = receiveTimeout;
+    }
+
+    public Long getRecoveryInterval() {
+        return recoveryInterval;
+    }
+
+    public void setRecoveryInterval(Long recoveryInterval) {
+        this.recoveryInterval = recoveryInterval;
+    }
+
+    public Long getRequestTimeoutCheckerInterval() {
+        return requestTimeoutCheckerInterval;
+    }
+
+    public void setRequestTimeoutCheckerInterval(
+            Long requestTimeoutCheckerInterval) {
+        this.requestTimeoutCheckerInterval = requestTimeoutCheckerInterval;
+    }
+
+    public Boolean getSynchronous() {
+        return synchronous;
+    }
+
+    public void setSynchronous(Boolean synchronous) {
+        this.synchronous = synchronous;
+    }
+
+    public Boolean getTransferException() {
+        return transferException;
+    }
+
+    public void setTransferException(Boolean transferException) {
+        this.transferException = transferException;
+    }
+
+    public Boolean getTransferExchange() {
+        return transferExchange;
+    }
+
+    public void setTransferExchange(Boolean transferExchange) {
+        this.transferExchange = transferExchange;
+    }
+
+    public Boolean getTrustAllPackages() {
+        return trustAllPackages;
+    }
+
+    public void setTrustAllPackages(Boolean trustAllPackages) {
+        this.trustAllPackages = trustAllPackages;
+    }
+
+    public Boolean getUseMessageIdAsCorrelationId() {
+        return useMessageIdAsCorrelationId;
+    }
+
+    public void setUseMessageIdAsCorrelationId(
+            Boolean useMessageIdAsCorrelationId) {
+        this.useMessageIdAsCorrelationId = useMessageIdAsCorrelationId;
+    }
+
+    public Integer getWaitForProvisionCorrelationToBeUpdatedCounter() {
+        return waitForProvisionCorrelationToBeUpdatedCounter;
+    }
+
+    public void setWaitForProvisionCorrelationToBeUpdatedCounter(
+            Integer waitForProvisionCorrelationToBeUpdatedCounter) {
+        this.waitForProvisionCorrelationToBeUpdatedCounter = waitForProvisionCorrelationToBeUpdatedCounter;
+    }
+
+    public Long getWaitForProvisionCorrelationToBeUpdatedThreadSleepingTime() {
+        return waitForProvisionCorrelationToBeUpdatedThreadSleepingTime;
+    }
+
+    public void setWaitForProvisionCorrelationToBeUpdatedThreadSleepingTime(
+            Long waitForProvisionCorrelationToBeUpdatedThreadSleepingTime) {
+        this.waitForProvisionCorrelationToBeUpdatedThreadSleepingTime = waitForProvisionCorrelationToBeUpdatedThreadSleepingTime;
+    }
+
+    public HeaderFilterStrategy getHeaderFilterStrategy() {
+        return headerFilterStrategy;
+    }
+
+    public void setHeaderFilterStrategy(
+            HeaderFilterStrategy headerFilterStrategy) {
+        this.headerFilterStrategy = headerFilterStrategy;
+    }
+
+    public LoggingLevel getErrorHandlerLoggingLevel() {
+        return errorHandlerLoggingLevel;
+    }
+
+    public void setErrorHandlerLoggingLevel(
+            LoggingLevel errorHandlerLoggingLevel) {
+        this.errorHandlerLoggingLevel = errorHandlerLoggingLevel;
+    }
+
+    public Boolean getErrorHandlerLogStackTrace() {
+        return errorHandlerLogStackTrace;
+    }
+
+    public void setErrorHandlerLogStackTrace(Boolean errorHandlerLogStackTrace) {
+        this.errorHandlerLogStackTrace = errorHandlerLogStackTrace;
+    }
+
+    public String getPassword() {
+        return password;
+    }
+
+    public void setPassword(String password) {
+        this.password = password;
+    }
+
+    public String getUsername() {
+        return username;
+    }
+
+    public void setUsername(String username) {
+        this.username = username;
+    }
+
+    public Boolean getTransacted() {
+        return transacted;
+    }
+
+    public void setTransacted(Boolean transacted) {
+        this.transacted = transacted;
+    }
+
+    public Boolean getTransactedInOut() {
+        return transactedInOut;
+    }
+
+    public void setTransactedInOut(Boolean transactedInOut) {
+        this.transactedInOut = transactedInOut;
+    }
+
+    public Boolean getLazyCreateTransactionManager() {
+        return lazyCreateTransactionManager;
+    }
+
+    public void setLazyCreateTransactionManager(
+            Boolean lazyCreateTransactionManager) {
+        this.lazyCreateTransactionManager = lazyCreateTransactionManager;
+    }
+
+    public PlatformTransactionManager getTransactionManager() {
+        return transactionManager;
+    }
+
+    public void setTransactionManager(
+            PlatformTransactionManager transactionManager) {
+        this.transactionManager = transactionManager;
+    }
+
+    public String getTransactionName() {
+        return transactionName;
+    }
+
+    public void setTransactionName(String transactionName) {
+        this.transactionName = transactionName;
+    }
+
+    public Integer getTransactionTimeout() {
+        return transactionTimeout;
+    }
+
+    public void setTransactionTimeout(Integer transactionTimeout) {
+        this.transactionTimeout = transactionTimeout;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-activemq-starter/src/main/java/org/apache/camel/component/activemq/springboot/ActiveMQComponentConverter.java b/components-starter/camel-activemq-starter/src/main/java/org/apache/camel/component/activemq/springboot/ActiveMQComponentConverter.java
new file mode 100644
index 00000000000..cfb0eb117f3
--- /dev/null
+++ b/components-starter/camel-activemq-starter/src/main/java/org/apache/camel/component/activemq/springboot/ActiveMQComponentConverter.java
@@ -0,0 +1,85 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.activemq.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.context.properties.ConfigurationPropertiesBinding;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+import org.springframework.stereotype.Component;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Configuration(proxyBeanMethods = false)
+@ConfigurationPropertiesBinding
+@Component
+public class ActiveMQComponentConverter implements GenericConverter {
+
+    @Autowired
+    private ApplicationContext applicationContext;
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, jakarta.jms.ConnectionFactory.class));
+        answer.add(new ConvertiblePair(String.class, org.springframework.core.task.TaskExecutor.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.jms.JmsConfiguration.class));
+        answer.add(new ConvertiblePair(String.class, org.springframework.jms.support.destination.DestinationResolver.class));
+        answer.add(new ConvertiblePair(String.class, org.springframework.util.ErrorHandler.class));
+        answer.add(new ConvertiblePair(String.class, jakarta.jms.ExceptionListener.class));
+        answer.add(new ConvertiblePair(String.class, org.springframework.jms.support.converter.MessageConverter.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.jms.MessageCreatedStrategy.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.jms.MessageListenerContainerFactory.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.jms.QueueBrowseStrategy.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.spi.HeaderFilterStrategy.class));
+        answer.add(new ConvertiblePair(String.class, org.springframework.transaction.PlatformTransactionManager.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "jakarta.jms.ConnectionFactory": return applicationContext.getBean(ref, jakarta.jms.ConnectionFactory.class);
+            case "org.springframework.core.task.TaskExecutor": return applicationContext.getBean(ref, org.springframework.core.task.TaskExecutor.class);
+            case "org.apache.camel.component.jms.JmsConfiguration": return applicationContext.getBean(ref, org.apache.camel.component.jms.JmsConfiguration.class);
+            case "org.springframework.jms.support.destination.DestinationResolver": return applicationContext.getBean(ref, org.springframework.jms.support.destination.DestinationResolver.class);
+            case "org.springframework.util.ErrorHandler": return applicationContext.getBean(ref, org.springframework.util.ErrorHandler.class);
+            case "jakarta.jms.ExceptionListener": return applicationContext.getBean(ref, jakarta.jms.ExceptionListener.class);
+            case "org.springframework.jms.support.converter.MessageConverter": return applicationContext.getBean(ref, org.springframework.jms.support.converter.MessageConverter.class);
+            case "org.apache.camel.component.jms.MessageCreatedStrategy": return applicationContext.getBean(ref, org.apache.camel.component.jms.MessageCreatedStrategy.class);
+            case "org.apache.camel.component.jms.MessageListenerContainerFactory": return applicationContext.getBean(ref, org.apache.camel.component.jms.MessageListenerContainerFactory.class);
+            case "org.apache.camel.component.jms.QueueBrowseStrategy": return applicationContext.getBean(ref, org.apache.camel.component.jms.QueueBrowseStrategy.class);
+            case "org.apache.camel.spi.HeaderFilterStrategy": return applicationContext.getBean(ref, org.apache.camel.spi.HeaderFilterStrategy.class);
+            case "org.springframework.transaction.PlatformTransactionManager": return applicationContext.getBean(ref, org.springframework.transaction.PlatformTransactionManager.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-activemq-starter/src/main/resources/META-INF/LICENSE.txt b/components-starter/camel-activemq-starter/src/main/resources/META-INF/LICENSE.txt
new file mode 100644
index 00000000000..6b0b1270ff0
--- /dev/null
+++ b/components-starter/camel-activemq-starter/src/main/resources/META-INF/LICENSE.txt
@@ -0,0 +1,203 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
diff --git a/components-starter/camel-activemq-starter/src/main/resources/META-INF/NOTICE.txt b/components-starter/camel-activemq-starter/src/main/resources/META-INF/NOTICE.txt
new file mode 100644
index 00000000000..2e215bf2e6b
--- /dev/null
+++ b/components-starter/camel-activemq-starter/src/main/resources/META-INF/NOTICE.txt
@@ -0,0 +1,11 @@
+   =========================================================================
+   ==  NOTICE file corresponding to the section 4 d of                    ==
+   ==  the Apache License, Version 2.0,                                   ==
+   ==  in this case for the Apache Camel distribution.                    ==
+   =========================================================================
+
+   This product includes software developed by
+   The Apache Software Foundation (http://www.apache.org/).
+
+   Please read the different LICENSE files present in the licenses directory of
+   this distribution.
diff --git a/components-starter/camel-activemq-starter/src/main/resources/META-INF/spring.provides b/components-starter/camel-activemq-starter/src/main/resources/META-INF/spring.provides
new file mode 100644
index 00000000000..c5a17ff6754
--- /dev/null
+++ b/components-starter/camel-activemq-starter/src/main/resources/META-INF/spring.provides
@@ -0,0 +1,17 @@
+## ---------------------------------------------------------------------------
+## Licensed to the Apache Software Foundation (ASF) under one or more
+## contributor license agreements.  See the NOTICE file distributed with
+## this work for additional information regarding copyright ownership.
+## The ASF licenses this file to You under the Apache License, Version 2.0
+## (the "License"); you may not use this file except in compliance with
+## the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing, software
+## distributed under the License is distributed on an "AS IS" BASIS,
+## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+## See the License for the specific language governing permissions and
+## limitations under the License.
+## ---------------------------------------------------------------------------
+provides: camel-activemq
diff --git a/components-starter/camel-activemq-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/components-starter/camel-activemq-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
new file mode 100644
index 00000000000..f21170855fa
--- /dev/null
+++ b/components-starter/camel-activemq-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -0,0 +1,19 @@
+## ---------------------------------------------------------------------------
+## Licensed to the Apache Software Foundation (ASF) under one or more
+## contributor license agreements.  See the NOTICE file distributed with
+## this work for additional information regarding copyright ownership.
+## The ASF licenses this file to You under the Apache License, Version 2.0
+## (the "License"); you may not use this file except in compliance with
+## the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing, software
+## distributed under the License is distributed on an "AS IS" BASIS,
+## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+## See the License for the specific language governing permissions and
+## limitations under the License.
+## ---------------------------------------------------------------------------
+
+org.apache.camel.component.activemq.springboot.ActiveMQComponentConverter
+org.apache.camel.component.activemq.springboot.ActiveMQComponentAutoConfiguration
diff --git a/components-starter/pom.xml b/components-starter/pom.xml
index e795cbae8be..66f134e7f9c 100644
--- a/components-starter/pom.xml
+++ b/components-starter/pom.xml
@@ -104,6 +104,7 @@
   </build>
   <modules>
     
+    <module>camel-activemq-starter</module>
     <module>camel-amqp-starter</module>
     <module>camel-arangodb-starter</module>
     <module>camel-as2-starter</module>
diff --git a/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelActivemqTest.java b/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelActivemqTest.java
new file mode 100644
index 00000000000..5bf2c56d09b
--- /dev/null
+++ b/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelActivemqTest.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.itest.springboot;
+
+import org.apache.camel.itest.springboot.util.ArquillianPackager;
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.Archive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class CamelActivemqTest extends AbstractSpringBootTestSupport {
+
+    @Deployment
+    public static Archive<?> createSpringBootPackage() throws Exception {
+        return ArquillianPackager.springBootPackage(createTestConfig());
+    }
+
+    public static ITestConfig createTestConfig() {
+        return new ITestConfigBuilder()
+                .module(inferModuleName(CamelActivemqTest.class))
+                .build();
+    }
+
+    @Test
+    public void componentTests() throws Exception {
+        this.runComponentTest(config);
+        this.runModuleUnitTestsIfEnabled(config);
+    }
+
+
+}
diff --git a/tooling/camel-spring-boot-bom/pom.xml b/tooling/camel-spring-boot-bom/pom.xml
index d4e68948441..5963b54c101 100644
--- a/tooling/camel-spring-boot-bom/pom.xml
+++ b/tooling/camel-spring-boot-bom/pom.xml
@@ -33,6 +33,11 @@
   <description>Camel Spring-Boot BOM</description>
   <dependencyManagement>
     <dependencies>
+      <dependency>
+        <groupId>org.apache.camel.springboot</groupId>
+        <artifactId>camel-activemq-starter</artifactId>
+        <version>${project.version}</version>
+      </dependency>
       <dependency>
         <groupId>org.apache.camel.springboot</groupId>
         <artifactId>camel-amqp-starter</artifactId>
diff --git a/tooling/camel-spring-boot-dependencies/pom.xml b/tooling/camel-spring-boot-dependencies/pom.xml
index fbfdbcb24a9..0285da3524a 100644
--- a/tooling/camel-spring-boot-dependencies/pom.xml
+++ b/tooling/camel-spring-boot-dependencies/pom.xml
@@ -196,6 +196,11 @@
         <artifactId>camel-servicenow-maven-plugin</artifactId>
         <version>4.0.0-SNAPSHOT</version>
       </dependency>
+      <dependency>
+        <groupId>org.apache.camel.springboot</groupId>
+        <artifactId>camel-activemq-starter</artifactId>
+        <version>${project.version}</version>
+      </dependency>
       <dependency>
         <groupId>org.apache.camel.springboot</groupId>
         <artifactId>camel-amqp-starter</artifactId>