{
  "groups": [
    {
      "name": "camel.component.amqp",
      "type": "org.apache.camel.component.amqp.springboot.AMQPComponentConfiguration",
      "sourceType": "org.apache.camel.component.amqp.springboot.AMQPComponentConfiguration"
    },
    {
      "name": "camel.component.amqp.customizer",
      "type": "org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon$CustomizerProperties",
      "sourceType": "org.apache.camel.component.amqp.springboot.AMQPComponentConfiguration",
      "sourceMethod": "getCustomizer()"
    }
  ],
  "properties": [
    {
      "name": "camel.component.amqp.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 this its recommended to enable this option.",
      "sourceType": "org.apache.camel.component.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": false
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": "AUTO_ACKNOWLEDGE"
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration"
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": true
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": true
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": true
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": false
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": false
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": false
    },
    {
      "name": "camel.component.amqp.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 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).",
      "sourceType": "org.apache.camel.component.amqp.springboot.AMQPComponentConfiguration"
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": false
    },
    {
      "name": "camel.component.amqp.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 been enabled, then asyncConsumer=true does not run asynchronously, as transaction must be executed synchronously (Camel 3.0 may support async transactions).",
      "sourceType": "org.apache.camel.component.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": false
    },
    {
      "name": "camel.component.amqp.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 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.",
      "sourceType": "org.apache.camel.component.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": false
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": false
    },
    {
      "name": "camel.component.amqp.auto-startup",
      "type": "java.lang.Boolean",
      "description": "Specifies whether the consumer container should auto-startup.",
      "sourceType": "org.apache.camel.component.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": true
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": true
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration"
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": "CACHE_AUTO"
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration"
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": 1
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration"
    },
    {
      "name": "camel.component.amqp.connection-factory",
      "type": "javax.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 javax.jms.ConnectionFactory type.",
      "sourceType": "org.apache.camel.component.amqp.springboot.AMQPComponentConfiguration"
    },
    {
      "name": "camel.component.amqp.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.AbstractMessageListenerContainer to use.",
      "sourceType": "org.apache.camel.component.amqp.springboot.AMQPComponentConfiguration"
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration"
    },
    {
      "name": "camel.component.amqp.customizer.enabled",
      "type": "java.lang.Boolean",
      "sourceType": "org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon$CustomizerProperties"
    },
    {
      "name": "camel.component.amqp.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 consumers. The use of ThreadPool is recommended to reduce thread trash in elastic configurations with dynamically increasing and decreasing concurrent consumers.",
      "sourceType": "org.apache.camel.component.amqp.springboot.AMQPComponentConfiguration"
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": -1
    },
    {
      "name": "camel.component.amqp.delivery-mode",
      "type": "java.lang.Integer",
      "description": "Specifies the delivery mode to be used. Possible values are those defined by javax.jms.DeliveryMode. NON_PERSISTENT = 1 and PERSISTENT = 2.",
      "sourceType": "org.apache.camel.component.amqp.springboot.AMQPComponentConfiguration"
    },
    {
      "name": "camel.component.amqp.delivery-persistent",
      "type": "java.lang.Boolean",
      "description": "Specifies whether persistent delivery is used by default.",
      "sourceType": "org.apache.camel.component.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": true
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration"
    },
    {
      "name": "camel.component.amqp.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 you want to route message from one system to another.",
      "sourceType": "org.apache.camel.component.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": false
    },
    {
      "name": "camel.component.amqp.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 expire on the receiver system. See below in section About time to live for more details.",
      "sourceType": "org.apache.camel.component.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": false
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration"
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": false
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": "Poison JMS message due to ${exception.message}"
    },
    {
      "name": "camel.component.amqp.enabled",
      "type": "java.lang.Boolean",
      "description": "Whether to enable auto configuration of the amqp component. This is enabled by default.",
      "sourceType": "org.apache.camel.component.amqp.springboot.AMQPComponentConfiguration"
    },
    {
      "name": "camel.component.amqp.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 option is a org.springframework.util.ErrorHandler type.",
      "sourceType": "org.apache.camel.component.amqp.springboot.AMQPComponentConfiguration"
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": true
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration"
    },
    {
      "name": "camel.component.amqp.exception-listener",
      "type": "javax.jms.ExceptionListener",
      "description": "Specifies the JMS Exception Listener that is to be notified of any underlying JMS exceptions. The option is a javax.jms.ExceptionListener type.",
      "sourceType": "org.apache.camel.component.amqp.springboot.AMQPComponentConfiguration"
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": false
    },
    {
      "name": "camel.component.amqp.expose-listener-session",
      "type": "java.lang.Boolean",
      "description": "Specifies whether the listener session should be exposed when consuming messages.",
      "sourceType": "org.apache.camel.component.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": false
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": false
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": false
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration"
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": 1
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": 1
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": false
    },
    {
      "name": "camel.component.amqp.include-amqp-annotations",
      "type": "java.lang.Boolean",
      "description": "Whether to include AMQP annotations when mapping from AMQP to Camel Message. Setting this to true maps AMQP message annotations that contain a JMS_AMQP_MA_ prefix to message headers. Due to limitations in Apache Qpid JMS API, currently delivery annotations are ignored.",
      "sourceType": "org.apache.camel.component.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": false
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": false
    },
    {
      "name": "camel.component.amqp.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.jms.JmsKeyFormatStrategy and refer to it using the # notation.",
      "sourceType": "org.apache.camel.component.amqp.springboot.AMQPComponentConfiguration"
    },
    {
      "name": "camel.component.amqp.jms-message-type",
      "type": "org.apache.camel.component.jms.JmsMessageType",
      "description": "Allows you to force the use of a specific javax.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.amqp.springboot.AMQPComponentConfiguration"
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": true
    },
    {
      "name": "camel.component.amqp.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 producer may take a little time and prolong the total processing time of the processing.",
      "sourceType": "org.apache.camel.component.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": false
    },
    {
      "name": "camel.component.amqp.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 javax.jms.TextMessage to a String etc.",
      "sourceType": "org.apache.camel.component.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": true
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration"
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": -1
    },
    {
      "name": "camel.component.amqp.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 javax.jms.Message. The option is a org.springframework.jms.support.converter.MessageConverter type.",
      "sourceType": "org.apache.camel.component.amqp.springboot.AMQPComponentConfiguration"
    },
    {
      "name": "camel.component.amqp.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 javax.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.amqp.springboot.AMQPComponentConfiguration"
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": true
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration"
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": true
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration"
    },
    {
      "name": "camel.component.amqp.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 contrast, will only use options set on the endpoint, and not values from the message header.",
      "sourceType": "org.apache.camel.component.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": false
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": 4
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": false
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration"
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": 1000
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": 5000
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration"
    },
    {
      "name": "camel.component.amqp.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 allowed, and you must use a higher value such as CACHE_CONSUMER or CACHE_SESSION.",
      "sourceType": "org.apache.camel.component.amqp.springboot.AMQPComponentConfiguration"
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": 1
    },
    {
      "name": "camel.component.amqp.reply-to-delivery-persistent",
      "type": "java.lang.Boolean",
      "description": "Specifies whether to use persistent delivery by default for replies.",
      "sourceType": "org.apache.camel.component.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": true
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration"
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration"
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": 1
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration"
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": false
    },
    {
      "name": "camel.component.amqp.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 clustered environment, and the fact that Shared reply queues has lower performance than its alternatives Temporary and Exclusive.",
      "sourceType": "org.apache.camel.component.amqp.springboot.AMQPComponentConfiguration"
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": 20000
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": 1000
    },
    {
      "name": "camel.component.amqp.selector",
      "type": "java.lang.String",
      "description": "Sets the JMS selector to use",
      "sourceType": "org.apache.camel.component.amqp.springboot.AMQPComponentConfiguration"
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": false
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": false
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration"
    },
    {
      "name": "camel.component.amqp.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 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.",
      "sourceType": "org.apache.camel.component.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": false
    },
    {
      "name": "camel.component.amqp.synchronous",
      "type": "java.lang.Boolean",
      "description": "Sets whether synchronous processing should be strictly used",
      "sourceType": "org.apache.camel.component.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": false
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration"
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": false
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": -1
    },
    {
      "name": "camel.component.amqp.transacted",
      "type": "java.lang.Boolean",
      "description": "Specifies whether to use transacted mode",
      "sourceType": "org.apache.camel.component.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": false
    },
    {
      "name": "camel.component.amqp.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 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.",
      "sourceType": "org.apache.camel.component.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": false
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration"
    },
    {
      "name": "camel.component.amqp.transaction-name",
      "type": "java.lang.String",
      "description": "The name of the transaction to use.",
      "sourceType": "org.apache.camel.component.amqp.springboot.AMQPComponentConfiguration"
    },
    {
      "name": "camel.component.amqp.transaction-timeout",
      "type": "java.lang.Integer",
      "description": "The timeout value of the transaction (in seconds), if using transacted mode.",
      "sourceType": "org.apache.camel.component.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": -1
    },
    {
      "name": "camel.component.amqp.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 javax.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!",
      "sourceType": "org.apache.camel.component.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": false
    },
    {
      "name": "camel.component.amqp.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 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!",
      "sourceType": "org.apache.camel.component.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": false
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": false
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration"
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": 50
    },
    {
      "name": "camel.component.amqp.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.amqp.springboot.AMQPComponentConfiguration",
      "defaultValue": 100
    }
  ],
  "hints": []
}