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 a58b5aff456 Regen
a58b5aff456 is described below
commit a58b5aff4560c1e8aa808bb5e417d311ce839f1f
Author: Claus Ibsen <[email protected]>
AuthorDate: Sun Mar 10 11:24:04 2024 +0100
Regen
---
.../catalog/components/spring-rabbitmq.json | 70 +++++++++++-----------
.../src/main/docs/spring-rabbitmq.json | 7 +++
.../SpringRabbitMQComponentConfiguration.java | 17 +++++-
3 files changed, 59 insertions(+), 35 deletions(-)
diff --git
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/spring-rabbitmq.json
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/spring-rabbitmq.json
index b8c64d9ec55..97f2d9a0bce 100644
---
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/spring-rabbitmq.json
+++
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/spring-rabbitmq.json
@@ -26,7 +26,7 @@
"amqpAdmin": { "index": 0, "kind": "property", "displayName": "Amqp
Admin", "group": "common", "label": "", "required": false, "type": "object",
"javaType": "org.springframework.amqp.core.AmqpAdmin", "deprecated": false,
"autowired": true, "secret": false, "description": "Optional AMQP Admin service
to use for auto declaring elements (queues, exchanges, bindings)" },
"connectionFactory": { "index": 1, "kind": "property", "displayName":
"Connection Factory", "group": "common", "label": "", "required": false,
"type": "object", "javaType":
"org.springframework.amqp.rabbit.connection.ConnectionFactory", "deprecated":
false, "autowired": true, "secret": false, "description": "The connection
factory to be use. A connection factory must be configured either on the
component or endpoint." },
"testConnectionOnStartup": { "index": 2, "kind": "property",
"displayName": "Test Connection On Startup", "group": "common", "label": "",
"required": false, "type": "boolean", "javaType": "boolean", "deprecated":
false, "autowired": false, "secret": false, "defaultValue": false,
"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 [...]
- "autoDeclare": { "index": 3, "kind": "property", "displayName": "Auto
Declare", "group": "consumer", "label": "consumer", "required": false, "type":
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": false, "description": "Specifies whether the
consumer should auto declare binding between exchange, queue and routing key
when starting. Enabling this can be good for development to make it easy to
standup exchanges, queues and bin [...]
+ "autoDeclare": { "index": 3, "kind": "property", "displayName": "Auto
Declare", "group": "consumer", "label": "consumer", "required": false, "type":
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": true, "description": "Specifies whether the
consumer should auto declare binding between exchange, queue and routing key
when starting. Enabling this can be good for development to make it easy to
standup exchanges, queues and bind [...]
"autoStartup": { "index": 4, "kind": "property", "displayName": "Auto
Startup", "group": "consumer", "label": "consumer", "required": false, "type":
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": true, "description": "Specifies whether the
consumer container should auto-startup." },
"bridgeErrorHandler": { "index": 5, "kind": "property", "displayName":
"Bridge Error Handler", "group": "consumer", "label": "consumer", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": false, "description":
"Allows for bridging the consumer to the Camel routing Error Handler, which
mean any exceptions (if possible) occurred while the Camel consumer is trying
to pickup incoming messages, or the like [...]
"deadLetterExchange": { "index": 6, "kind": "property", "displayName":
"Dead Letter Exchange", "group": "consumer", "label": "consumer", "required":
false, "type": "string", "javaType": "java.lang.String", "deprecated": false,
"autowired": false, "secret": false, "description": "The name of the dead
letter exchange" },
@@ -45,14 +45,15 @@
"retry": { "index": 19, "kind": "property", "displayName": "Retry",
"group": "consumer (advanced)", "label": "consumer,advanced", "required":
false, "type": "object", "javaType":
"org.springframework.retry.interceptor.RetryOperationsInterceptor",
"deprecated": false, "autowired": false, "secret": false, "description":
"Custom retry configuration to use. If this is configured then the other
settings such as maximumRetryAttempts for retry are not in use." },
"shutdownTimeout": { "index": 20, "kind": "property", "displayName":
"Shutdown Timeout", "group": "consumer (advanced)", "label":
"consumer,advanced", "required": false, "type": "duration", "javaType": "long",
"deprecated": false, "autowired": false, "secret": false, "defaultValue":
"5000", "description": "The time to wait for workers in milliseconds after the
container is stopped. If any workers are active when the shutdown signal comes
they will be allowed to finish processing as l [...]
"allowNullBody": { "index": 21, "kind": "property", "displayName": "Allow
Null Body", "group": "producer", "label": "producer", "required": false,
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired":
false, "secret": false, "defaultValue": false, "description": "Whether to allow
sending messages with no body. If this option is false and the message body is
null, then an MessageConversionException is thrown." },
- "lazyStartProducer": { "index": 22, "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 [...]
- "replyTimeout": { "index": 23, "kind": "property", "displayName": "Reply
Timeout", "group": "producer", "label": "producer", "required": false, "type":
"duration", "javaType": "long", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": "5000", "description": "Specify the timeout in
milliseconds to be used when waiting for a reply message when doing
request\/reply messaging. The default value is 5 seconds. A negative value
indicates an indefinite timeout." },
- "args": { "index": 24, "kind": "property", "displayName": "Args", "group":
"advanced", "label": "advanced", "required": false, "type": "object",
"javaType": "java.util.Map<java.lang.String, java.lang.Object>", "deprecated":
false, "autowired": false, "secret": false, "description": "Specify arguments
for configuring the different RabbitMQ concepts, a different prefix is required
for each element: consumer. exchange. queue. binding. dlq.exchange. dlq.queue.
dlq.binding. For example to [...]
- "autowiredEnabled": { "index": 25, "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 [...]
- "ignoreDeclarationExceptions": { "index": 26, "kind": "property",
"displayName": "Ignore Declaration Exceptions", "group": "advanced", "label":
"advanced", "required": false, "type": "boolean", "javaType": "boolean",
"deprecated": false, "autowired": false, "secret": false, "defaultValue":
false, "description": "Switch on ignore exceptions such as mismatched
properties when declaring" },
- "messageConverter": { "index": 27, "kind": "property", "displayName":
"Message Converter", "group": "advanced", "label": "advanced", "required":
false, "type": "object", "javaType":
"org.springframework.amqp.support.converter.MessageConverter", "deprecated":
false, "autowired": false, "secret": false, "description": "To use a custom
MessageConverter so you can be in control how to map to\/from a
org.springframework.amqp.core.Message." },
- "messagePropertiesConverter": { "index": 28, "kind": "property",
"displayName": "Message Properties Converter", "group": "advanced", "label":
"advanced", "required": false, "type": "object", "javaType":
"org.apache.camel.component.springrabbit.MessagePropertiesConverter",
"deprecated": false, "autowired": false, "secret": false, "description": "To
use a custom MessagePropertiesConverter so you can be in control how to map
to\/from a org.springframework.amqp.core.MessageProperties." },
- "headerFilterStrategy": { "index": 29, "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." }
+ "autoDeclareProducer": { "index": 22, "kind": "property", "displayName":
"Auto Declare Producer", "group": "producer", "label": "producer", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": false, "description":
"Specifies whether the producer should auto declare binding between exchange,
queue and routing key when starting. Enabling this can be good for development
to make it easy to standup exchang [...]
+ "lazyStartProducer": { "index": 23, "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 [...]
+ "replyTimeout": { "index": 24, "kind": "property", "displayName": "Reply
Timeout", "group": "producer", "label": "producer", "required": false, "type":
"duration", "javaType": "long", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": "5000", "description": "Specify the timeout in
milliseconds to be used when waiting for a reply message when doing
request\/reply messaging. The default value is 5 seconds. A negative value
indicates an indefinite timeout." },
+ "args": { "index": 25, "kind": "property", "displayName": "Args", "group":
"advanced", "label": "advanced", "required": false, "type": "object",
"javaType": "java.util.Map<java.lang.String, java.lang.Object>", "deprecated":
false, "autowired": false, "secret": false, "description": "Specify arguments
for configuring the different RabbitMQ concepts, a different prefix is required
for each element: consumer. exchange. queue. binding. dlq.exchange. dlq.queue.
dlq.binding. For example to [...]
+ "autowiredEnabled": { "index": 26, "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 [...]
+ "ignoreDeclarationExceptions": { "index": 27, "kind": "property",
"displayName": "Ignore Declaration Exceptions", "group": "advanced", "label":
"advanced", "required": false, "type": "boolean", "javaType": "boolean",
"deprecated": false, "autowired": false, "secret": false, "defaultValue":
false, "description": "Switch on ignore exceptions such as mismatched
properties when declaring" },
+ "messageConverter": { "index": 28, "kind": "property", "displayName":
"Message Converter", "group": "advanced", "label": "advanced", "required":
false, "type": "object", "javaType":
"org.springframework.amqp.support.converter.MessageConverter", "deprecated":
false, "autowired": false, "secret": false, "description": "To use a custom
MessageConverter so you can be in control how to map to\/from a
org.springframework.amqp.core.Message." },
+ "messagePropertiesConverter": { "index": 29, "kind": "property",
"displayName": "Message Properties Converter", "group": "advanced", "label":
"advanced", "required": false, "type": "object", "javaType":
"org.apache.camel.component.springrabbit.MessagePropertiesConverter",
"deprecated": false, "autowired": false, "secret": false, "description": "To
use a custom MessagePropertiesConverter so you can be in control how to map
to\/from a org.springframework.amqp.core.MessageProperties." },
+ "headerFilterStrategy": { "index": 30, "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." }
},
"headers": {
"CamelSpringRabbitmqRoutingOverrideKey": { "index": 0, "kind": "header",
"displayName": "", "group": "producer", "label": "producer", "required": false,
"javaType": "String", "deprecated": false, "deprecationNote": "", "autowired":
false, "secret": false, "description": "To override the endpoint
configuration's routing key.", "constantName":
"org.apache.camel.component.springrabbit.SpringRabbitMQConstants#ROUTING_OVERRIDE_KEY"
},
@@ -79,22 +80,22 @@
"properties": {
"exchangeName": { "index": 0, "kind": "path", "displayName": "Exchange
Name", "group": "common", "label": "", "required": true, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "",
"autowired": false, "secret": false, "description": "The exchange name
determines the exchange to which the produced messages will be sent to. In the
case of consumers, the exchange name determines the exchange the queue will be
bound to. Note: to use default exchan [...]
"connectionFactory": { "index": 1, "kind": "parameter", "displayName":
"Connection Factory", "group": "common", "label": "common", "required": false,
"type": "object", "javaType":
"org.springframework.amqp.rabbit.connection.ConnectionFactory", "deprecated":
false, "autowired": false, "secret": false, "description": "The connection
factory to be use. A connection factory must be configured either on the
component or endpoint." },
- "disableReplyTo": { "index": 2, "kind": "parameter", "displayName":
"Disable Reply To", "group": "common", "label": "common", "required": false,
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired":
false, "secret": false, "defaultValue": false, "description": "Specifies
whether Camel ignores the ReplyTo header in messages. If true, Camel does not
send a reply back to the destination specified in the ReplyTo header. You can
use this option if you want Camel to c [...]
- "routingKey": { "index": 3, "kind": "parameter", "displayName": "Routing
Key", "group": "common", "label": "common", "required": false, "type":
"string", "javaType": "java.lang.String", "deprecated": false, "autowired":
false, "secret": false, "description": "The value of a routing key to use.
Default is empty which is not helpful when using the default (or any direct)
exchange, but fine if the exchange is a headers exchange for instance." },
- "testConnectionOnStartup": { "index": 4, "kind": "parameter",
"displayName": "Test Connection On Startup", "group": "common", "label": "",
"required": false, "type": "boolean", "javaType": "boolean", "deprecated":
false, "autowired": false, "secret": false, "defaultValue": false,
"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 grante [...]
- "acknowledgeMode": { "index": 5, "kind": "parameter", "displayName":
"Acknowledge Mode", "group": "consumer", "label": "consumer", "required":
false, "type": "object", "javaType":
"org.springframework.amqp.core.AcknowledgeMode", "enum": [ "NONE", "MANUAL",
"AUTO" ], "deprecated": false, "autowired": false, "secret": false,
"description": "Flag controlling the behaviour of the container with respect to
message acknowledgement. The most common usage is to let the container handle
the a [...]
- "asyncConsumer": { "index": 6, "kind": "parameter", "displayName": "Async
Consumer", "group": "consumer", "label": "consumer", "required": false, "type":
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": false, "description": "Whether the consumer
processes the Exchange asynchronously. If enabled then the consumer may pickup
the next message from the queue, while the previous message is being processed
asynchronously (by the A [...]
- "autoDeclare": { "index": 7, "kind": "parameter", "displayName": "Auto
Declare", "group": "consumer", "label": "consumer", "required": false, "type":
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": true, "description": "Specifies whether the
consumer should auto declare binding between exchange, queue and routing key
when starting." },
- "autoStartup": { "index": 8, "kind": "parameter", "displayName": "Auto
Startup", "group": "consumer", "label": "consumer", "required": false, "type":
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": true, "description": "Specifies whether the
consumer container should auto-startup." },
- "deadLetterExchange": { "index": 9, "kind": "parameter", "displayName":
"Dead Letter Exchange", "group": "consumer", "label": "consumer", "required":
false, "type": "string", "javaType": "java.lang.String", "deprecated": false,
"autowired": false, "secret": false, "description": "The name of the dead
letter exchange" },
- "deadLetterExchangeType": { "index": 10, "kind": "parameter",
"displayName": "Dead Letter Exchange Type", "group": "consumer", "label":
"consumer", "required": false, "type": "string", "javaType":
"java.lang.String", "enum": [ "direct", "fanout", "headers", "topic" ],
"deprecated": false, "autowired": false, "secret": false, "defaultValue":
"direct", "description": "The type of the dead letter exchange" },
- "deadLetterQueue": { "index": 11, "kind": "parameter", "displayName":
"Dead Letter Queue", "group": "consumer", "label": "consumer", "required":
false, "type": "string", "javaType": "java.lang.String", "deprecated": false,
"autowired": false, "secret": false, "description": "The name of the dead
letter queue" },
- "deadLetterRoutingKey": { "index": 12, "kind": "parameter", "displayName":
"Dead Letter Routing Key", "group": "consumer", "label": "consumer",
"required": false, "type": "string", "javaType": "java.lang.String",
"deprecated": false, "autowired": false, "secret": false, "description": "The
routing key for the dead letter exchange" },
- "exchangeType": { "index": 13, "kind": "parameter", "displayName":
"Exchange Type", "group": "consumer", "label": "consumer", "required": false,
"type": "string", "javaType": "java.lang.String", "enum": [ "direct", "fanout",
"headers", "topic" ], "deprecated": false, "autowired": false, "secret": false,
"defaultValue": "direct", "description": "The type of the exchange" },
- "exclusive": { "index": 14, "kind": "parameter", "displayName":
"Exclusive", "group": "consumer", "label": "consumer", "required": false,
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired":
false, "secret": false, "defaultValue": false, "description": "Set to true for
an exclusive consumer" },
- "maximumRetryAttempts": { "index": 15, "kind": "parameter", "displayName":
"Maximum Retry Attempts", "group": "consumer", "label": "consumer", "required":
false, "type": "integer", "javaType": "int", "deprecated": false, "autowired":
false, "secret": false, "defaultValue": 5, "description": "How many times a
Rabbitmq consumer will retry the same message if Camel failed to process the
message" },
- "noLocal": { "index": 16, "kind": "parameter", "displayName": "No Local",
"group": "consumer", "label": "consumer", "required": false, "type": "boolean",
"javaType": "boolean", "deprecated": false, "autowired": false, "secret":
false, "defaultValue": false, "description": "Set to true for an no-local
consumer" },
- "queues": { "index": 17, "kind": "parameter", "displayName": "Queues",
"group": "consumer", "label": "consumer", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": false, "description": "The queue(s) to use for consuming messages.
Multiple queue names can be separated by comma. If none has been configured
then Camel will generate an unique id as the queue name for the consumer." },
+ "deadLetterExchange": { "index": 2, "kind": "parameter", "displayName":
"Dead Letter Exchange", "group": "common", "label": "common", "required":
false, "type": "string", "javaType": "java.lang.String", "deprecated": false,
"autowired": false, "secret": false, "description": "The name of the dead
letter exchange" },
+ "deadLetterExchangeType": { "index": 3, "kind": "parameter",
"displayName": "Dead Letter Exchange Type", "group": "common", "label":
"common", "required": false, "type": "string", "javaType": "java.lang.String",
"enum": [ "direct", "fanout", "headers", "topic" ], "deprecated": false,
"autowired": false, "secret": false, "defaultValue": "direct", "description":
"The type of the dead letter exchange" },
+ "deadLetterQueue": { "index": 4, "kind": "parameter", "displayName": "Dead
Letter Queue", "group": "common", "label": "common", "required": false, "type":
"string", "javaType": "java.lang.String", "deprecated": false, "autowired":
false, "secret": false, "description": "The name of the dead letter queue" },
+ "deadLetterRoutingKey": { "index": 5, "kind": "parameter", "displayName":
"Dead Letter Routing Key", "group": "common", "label": "common", "required":
false, "type": "string", "javaType": "java.lang.String", "deprecated": false,
"autowired": false, "secret": false, "description": "The routing key for the
dead letter exchange" },
+ "disableReplyTo": { "index": 6, "kind": "parameter", "displayName":
"Disable Reply To", "group": "common", "label": "common", "required": false,
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired":
false, "secret": false, "defaultValue": false, "description": "Specifies
whether Camel ignores the ReplyTo header in messages. If true, Camel does not
send a reply back to the destination specified in the ReplyTo header. You can
use this option if you want Camel to c [...]
+ "queues": { "index": 7, "kind": "parameter", "displayName": "Queues",
"group": "common", "label": "common", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": false, "description": "The queue(s) to use for consuming or producing
messages. Multiple queue names can be separated by comma. If none has been
configured then Camel will generate an unique id as the queue name." },
+ "routingKey": { "index": 8, "kind": "parameter", "displayName": "Routing
Key", "group": "common", "label": "common", "required": false, "type":
"string", "javaType": "java.lang.String", "deprecated": false, "autowired":
false, "secret": false, "description": "The value of a routing key to use.
Default is empty which is not helpful when using the default (or any direct)
exchange, but fine if the exchange is a headers exchange for instance." },
+ "testConnectionOnStartup": { "index": 9, "kind": "parameter",
"displayName": "Test Connection On Startup", "group": "common", "label": "",
"required": false, "type": "boolean", "javaType": "boolean", "deprecated":
false, "autowired": false, "secret": false, "defaultValue": false,
"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 grante [...]
+ "acknowledgeMode": { "index": 10, "kind": "parameter", "displayName":
"Acknowledge Mode", "group": "consumer", "label": "consumer", "required":
false, "type": "object", "javaType":
"org.springframework.amqp.core.AcknowledgeMode", "enum": [ "NONE", "MANUAL",
"AUTO" ], "deprecated": false, "autowired": false, "secret": false,
"description": "Flag controlling the behaviour of the container with respect to
message acknowledgement. The most common usage is to let the container handle
the [...]
+ "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, "description": "Whether the consumer
processes the Exchange asynchronously. If enabled then the consumer may pickup
the next message from the queue, while the previous message is being processed
asynchronously (by the [...]
+ "autoDeclare": { "index": 12, "kind": "parameter", "displayName": "Auto
Declare", "group": "consumer", "label": "consumer", "required": false, "type":
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": true, "description": "Specifies whether the
consumer should auto declare binding between exchange, queue and routing key
when starting." },
+ "autoStartup": { "index": 13, "kind": "parameter", "displayName": "Auto
Startup", "group": "consumer", "label": "consumer", "required": false, "type":
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": true, "description": "Specifies whether the
consumer container should auto-startup." },
+ "exchangeType": { "index": 14, "kind": "parameter", "displayName":
"Exchange Type", "group": "consumer", "label": "consumer", "required": false,
"type": "string", "javaType": "java.lang.String", "enum": [ "direct", "fanout",
"headers", "topic" ], "deprecated": false, "autowired": false, "secret": false,
"defaultValue": "direct", "description": "The type of the exchange" },
+ "exclusive": { "index": 15, "kind": "parameter", "displayName":
"Exclusive", "group": "consumer", "label": "consumer", "required": false,
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired":
false, "secret": false, "defaultValue": false, "description": "Set to true for
an exclusive consumer" },
+ "maximumRetryAttempts": { "index": 16, "kind": "parameter", "displayName":
"Maximum Retry Attempts", "group": "consumer", "label": "consumer", "required":
false, "type": "integer", "javaType": "int", "deprecated": false, "autowired":
false, "secret": false, "defaultValue": 5, "description": "How many times a
Rabbitmq consumer will retry the same message if Camel failed to process the
message" },
+ "noLocal": { "index": 17, "kind": "parameter", "displayName": "No Local",
"group": "consumer", "label": "consumer", "required": false, "type": "boolean",
"javaType": "boolean", "deprecated": false, "autowired": false, "secret":
false, "defaultValue": false, "description": "Set to true for an no-local
consumer" },
"rejectAndDontRequeue": { "index": 18, "kind": "parameter", "displayName":
"Reject And Dont Requeue", "group": "consumer", "label": "consumer",
"required": false, "type": "boolean", "javaType": "boolean", "deprecated":
false, "autowired": false, "secret": false, "defaultValue": true,
"description": "Whether a Rabbitmq consumer should reject the message without
requeuing. This enables failed messages to be sent to a Dead Letter
Exchange\/Queue, if the broker is so configured." },
"retryDelay": { "index": 19, "kind": "parameter", "displayName": "Retry
Delay", "group": "consumer", "label": "consumer", "required": false, "type":
"integer", "javaType": "int", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": 1000, "description": "Delay in millis a
Rabbitmq consumer will wait before redelivering a message that Camel failed to
process" },
"bridgeErrorHandler": { "index": 20, "kind": "parameter", "displayName":
"Bridge Error Handler", "group": "consumer (advanced)", "label":
"consumer,advanced", "required": false, "type": "boolean", "javaType":
"boolean", "deprecated": false, "autowired": false, "secret": false,
"defaultValue": false, "description": "Allows for bridging the consumer to the
Camel routing Error Handler, which mean any exceptions (if possible) occurred
while the Camel consumer is trying to pickup incoming [...]
@@ -106,14 +107,15 @@
"prefetchCount": { "index": 26, "kind": "parameter", "displayName":
"Prefetch Count", "group": "consumer (advanced)", "label": "consumer,advanced",
"required": false, "type": "integer", "javaType": "java.lang.Integer",
"deprecated": false, "autowired": false, "secret": false, "description": "Tell
the broker how many messages to send in a single request. Often this can be set
quite high to improve throughput." },
"retry": { "index": 27, "kind": "parameter", "displayName": "Retry",
"group": "consumer (advanced)", "label": "consumer,advanced", "required":
false, "type": "object", "javaType":
"org.springframework.retry.interceptor.RetryOperationsInterceptor",
"deprecated": false, "autowired": false, "secret": false, "description":
"Custom retry configuration to use. If this is configured then the other
settings such as maximumRetryAttempts for retry are not in use." },
"allowNullBody": { "index": 28, "kind": "parameter", "displayName": "Allow
Null Body", "group": "producer", "label": "producer", "required": false,
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired":
false, "secret": false, "defaultValue": false, "description": "Whether to allow
sending messages with no body. If this option is false and the message body is
null, then an MessageConversionException is thrown." },
- "confirm": { "index": 29, "kind": "parameter", "displayName": "Confirm",
"group": "producer", "label": "producer", "required": false, "type": "string",
"javaType": "java.lang.String", "enum": [ "auto", "enabled", "disabled" ],
"deprecated": false, "autowired": false, "secret": false, "defaultValue":
"auto", "description": "Controls whether to wait for confirms. The connection
factory must be configured for publisher confirms and this method. auto = Camel
detects if the connection fac [...]
- "confirmTimeout": { "index": 30, "kind": "parameter", "displayName":
"Confirm Timeout", "group": "producer", "label": "producer", "required": false,
"type": "duration", "javaType": "long", "deprecated": false, "autowired":
false, "secret": false, "defaultValue": "5000", "description": "Specify the
timeout in milliseconds to be used when waiting for a message sent to be
confirmed by RabbitMQ when doing send only messaging (InOnly). The default
value is 5 seconds. A negative value indi [...]
- "replyTimeout": { "index": 31, "kind": "parameter", "displayName": "Reply
Timeout", "group": "producer", "label": "producer", "required": false, "type":
"duration", "javaType": "long", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": "30000", "description": "Specify the timeout
in milliseconds to be used when waiting for a reply message when doing
request\/reply (InOut) messaging. The default value is 30 seconds. A negative
value indicates an indefinite timeo [...]
- "usePublisherConnection": { "index": 32, "kind": "parameter",
"displayName": "Use Publisher Connection", "group": "producer", "label":
"producer", "required": false, "type": "boolean", "javaType": "boolean",
"deprecated": false, "autowired": false, "secret": false, "defaultValue":
false, "description": "Use a separate connection for publishers and consumers"
},
- "lazyStartProducer": { "index": 33, "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 [...]
- "args": { "index": 34, "kind": "parameter", "displayName": "Args",
"group": "advanced", "label": "advanced", "required": false, "type": "object",
"javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix":
"arg.", "multiValue": true, "deprecated": false, "autowired": false, "secret":
false, "description": "Specify arguments for configuring the different RabbitMQ
concepts, a different prefix is required for each element: arg.consumer.
arg.exchange. arg.queue. arg.bindin [...]
- "messageConverter": { "index": 35, "kind": "parameter", "displayName":
"Message Converter", "group": "advanced", "label": "advanced", "required":
false, "type": "object", "javaType":
"org.springframework.amqp.support.converter.MessageConverter", "deprecated":
false, "autowired": false, "secret": false, "description": "To use a custom
MessageConverter so you can be in control how to map to\/from a
org.springframework.amqp.core.Message." },
- "messagePropertiesConverter": { "index": 36, "kind": "parameter",
"displayName": "Message Properties Converter", "group": "advanced", "label":
"advanced", "required": false, "type": "object", "javaType":
"org.apache.camel.component.springrabbit.MessagePropertiesConverter",
"deprecated": false, "autowired": false, "secret": false, "description": "To
use a custom MessagePropertiesConverter so you can be in control how to map
to\/from a org.springframework.amqp.core.MessageProperties." },
- "synchronous": { "index": 37, "kind": "parameter", "displayName":
"Synchronous", "group": "advanced", "label": "advanced", "required": false,
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired":
false, "secret": false, "defaultValue": false, "description": "Sets whether
synchronous processing should be strictly used" }
+ "autoDeclareProducer": { "index": 29, "kind": "parameter", "displayName":
"Auto Declare Producer", "group": "producer", "label": "producer", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": false, "description":
"Specifies whether the producer should auto declare binding between exchange,
queue and routing key when starting." },
+ "confirm": { "index": 30, "kind": "parameter", "displayName": "Confirm",
"group": "producer", "label": "producer", "required": false, "type": "string",
"javaType": "java.lang.String", "enum": [ "auto", "enabled", "disabled" ],
"deprecated": false, "autowired": false, "secret": false, "defaultValue":
"auto", "description": "Controls whether to wait for confirms. The connection
factory must be configured for publisher confirms and this method. auto = Camel
detects if the connection fac [...]
+ "confirmTimeout": { "index": 31, "kind": "parameter", "displayName":
"Confirm Timeout", "group": "producer", "label": "producer", "required": false,
"type": "duration", "javaType": "long", "deprecated": false, "autowired":
false, "secret": false, "defaultValue": "5000", "description": "Specify the
timeout in milliseconds to be used when waiting for a message sent to be
confirmed by RabbitMQ when doing send only messaging (InOnly). The default
value is 5 seconds. A negative value indi [...]
+ "replyTimeout": { "index": 32, "kind": "parameter", "displayName": "Reply
Timeout", "group": "producer", "label": "producer", "required": false, "type":
"duration", "javaType": "long", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": "30000", "description": "Specify the timeout
in milliseconds to be used when waiting for a reply message when doing
request\/reply (InOut) messaging. The default value is 30 seconds. A negative
value indicates an indefinite timeo [...]
+ "usePublisherConnection": { "index": 33, "kind": "parameter",
"displayName": "Use Publisher Connection", "group": "producer", "label":
"producer", "required": false, "type": "boolean", "javaType": "boolean",
"deprecated": false, "autowired": false, "secret": false, "defaultValue":
false, "description": "Use a separate connection for publishers and consumers"
},
+ "lazyStartProducer": { "index": 34, "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 [...]
+ "args": { "index": 35, "kind": "parameter", "displayName": "Args",
"group": "advanced", "label": "advanced", "required": false, "type": "object",
"javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix":
"arg.", "multiValue": true, "deprecated": false, "autowired": false, "secret":
false, "description": "Specify arguments for configuring the different RabbitMQ
concepts, a different prefix is required for each element: arg.consumer.
arg.exchange. arg.queue. arg.bindin [...]
+ "messageConverter": { "index": 36, "kind": "parameter", "displayName":
"Message Converter", "group": "advanced", "label": "advanced", "required":
false, "type": "object", "javaType":
"org.springframework.amqp.support.converter.MessageConverter", "deprecated":
false, "autowired": false, "secret": false, "description": "To use a custom
MessageConverter so you can be in control how to map to\/from a
org.springframework.amqp.core.Message." },
+ "messagePropertiesConverter": { "index": 37, "kind": "parameter",
"displayName": "Message Properties Converter", "group": "advanced", "label":
"advanced", "required": false, "type": "object", "javaType":
"org.apache.camel.component.springrabbit.MessagePropertiesConverter",
"deprecated": false, "autowired": false, "secret": false, "description": "To
use a custom MessagePropertiesConverter so you can be in control how to map
to\/from a org.springframework.amqp.core.MessageProperties." },
+ "synchronous": { "index": 38, "kind": "parameter", "displayName":
"Synchronous", "group": "advanced", "label": "advanced", "required": false,
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired":
false, "secret": false, "defaultValue": false, "description": "Sets whether
synchronous processing should be strictly used" }
}
}
diff --git
a/components-starter/camel-spring-rabbitmq-starter/src/main/docs/spring-rabbitmq.json
b/components-starter/camel-spring-rabbitmq-starter/src/main/docs/spring-rabbitmq.json
index a821ea742e4..d35aaaac7b4 100644
---
a/components-starter/camel-spring-rabbitmq-starter/src/main/docs/spring-rabbitmq.json
+++
b/components-starter/camel-spring-rabbitmq-starter/src/main/docs/spring-rabbitmq.json
@@ -37,6 +37,13 @@
"type": "java.lang.Boolean",
"description": "Specifies whether the consumer should auto declare
binding between exchange, queue and routing key when starting. Enabling this
can be good for development to make it easy to standup exchanges, queues and
bindings on the broker.",
"sourceType":
"org.apache.camel.component.springrabbit.springboot.SpringRabbitMQComponentConfiguration",
+ "defaultValue": true
+ },
+ {
+ "name": "camel.component.spring-rabbitmq.auto-declare-producer",
+ "type": "java.lang.Boolean",
+ "description": "Specifies whether the producer should auto declare
binding between exchange, queue and routing key when starting. Enabling this
can be good for development to make it easy to standup exchanges, queues and
bindings on the broker.",
+ "sourceType":
"org.apache.camel.component.springrabbit.springboot.SpringRabbitMQComponentConfiguration",
"defaultValue": false
},
{
diff --git
a/components-starter/camel-spring-rabbitmq-starter/src/main/java/org/apache/camel/component/springrabbit/springboot/SpringRabbitMQComponentConfiguration.java
b/components-starter/camel-spring-rabbitmq-starter/src/main/java/org/apache/camel/component/springrabbit/springboot/SpringRabbitMQComponentConfiguration.java
index 908ab124f0a..e0ca855a356 100644
---
a/components-starter/camel-spring-rabbitmq-starter/src/main/java/org/apache/camel/component/springrabbit/springboot/SpringRabbitMQComponentConfiguration.java
+++
b/components-starter/camel-spring-rabbitmq-starter/src/main/java/org/apache/camel/component/springrabbit/springboot/SpringRabbitMQComponentConfiguration.java
@@ -69,7 +69,7 @@ public class SpringRabbitMQComponentConfiguration
* for development to make it easy to standup exchanges, queues and
bindings
* on the broker.
*/
- private Boolean autoDeclare = false;
+ private Boolean autoDeclare = true;
/**
* Specifies whether the consumer container should auto-startup.
*/
@@ -169,6 +169,13 @@ public class SpringRabbitMQComponentConfiguration
* thrown.
*/
private Boolean allowNullBody = false;
+ /**
+ * Specifies whether the producer should auto declare binding between
+ * exchange, queue and routing key when starting. Enabling this can be good
+ * for development to make it easy to standup exchanges, queues and
bindings
+ * on the broker.
+ */
+ private Boolean autoDeclareProducer = 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
@@ -405,6 +412,14 @@ public class SpringRabbitMQComponentConfiguration
this.allowNullBody = allowNullBody;
}
+ public Boolean getAutoDeclareProducer() {
+ return autoDeclareProducer;
+ }
+
+ public void setAutoDeclareProducer(Boolean autoDeclareProducer) {
+ this.autoDeclareProducer = autoDeclareProducer;
+ }
+
public Boolean getLazyStartProducer() {
return lazyStartProducer;
}