This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-spring-boot.git
The following commit(s) were added to refs/heads/master by this push:
new 2ac9233 CAMEL-16003: camel-spring-rabbitmq - New component using
spring client
2ac9233 is described below
commit 2ac9233424636d7710abf98a75c1f8e61e14819e
Author: Claus Ibsen <[email protected]>
AuthorDate: Tue Jan 12 16:51:16 2021 +0100
CAMEL-16003: camel-spring-rabbitmq - New component using spring client
---
.../springboot/catalog/components/spring-rabbitmq.json | 9 +++++----
.../src/main/docs/spring-rabbitmq-starter.adoc | 5 ++---
.../springboot/RabbitMQComponentConfiguration.java | 13 +++++++++++++
docs/modules/ROOT/pages/spring-rabbitmq-starter.adoc | 5 ++---
4 files changed, 22 insertions(+), 10 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 726a0b8..b91304f 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
@@ -38,15 +38,16 @@
"shutdownTimeout": { "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 long as they c [...]
"lazyStartProducer": { "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 fail during star [...]
"autowiredEnabled": { "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 type, which t [...]
+ "ignoreDeclarationExceptions": { "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": { "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": { "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": { "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." }
},
"properties": {
"exchangeName": { "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 exchange then do n [...]
- "connectionFactory": { "kind": "parameter", "displayName": "Connection
Factory", "group": "common", "label": "", "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": { "kind": "parameter", "displayName": "Disable Reply
To", "group": "common", "label": "", "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 consume from a rout [...]
- "routingKey": { "kind": "parameter", "displayName": "Routing Key",
"group": "common", "label": "common", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": false, "description": "Routing key." },
+ "connectionFactory": { "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": { "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 consume from [...]
+ "routingKey": { "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": { "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 granted then Camel [...]
"acknowledgeMode": { "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 acknowledgeme [...]
"asyncConsumer": { "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 Asynchronous [...]
@@ -60,7 +61,7 @@
"exchangeType": { "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": { "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" },
"noLocal": { "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": { "kind": "parameter", "displayName": "Queues", "group":
"consumer", "label": "consumer", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "",
"autowired": false, "secret": false, "description": "The queue(s) to use for
consuming messages. Multiple queue names can be separated by comma." },
+ "queues": { "kind": "parameter", "displayName": "Queues", "group":
"consumer", "label": "consumer", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "",
"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." },
"exceptionHandler": { "kind": "parameter", "displayName": "Exception
Handler", "group": "consumer (advanced)", "label": "consumer,advanced",
"required": false, "type": "object", "javaType":
"org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.",
"deprecated": false, "autowired": false, "secret": false, "description": "To
let the consumer use a custom ExceptionHandler. Notice if the option
bridgeErrorHandler is enabled then this option is not in use. By default the
con [...]
"exchangePattern": { "kind": "parameter", "displayName": "Exchange
Pattern", "group": "consumer (advanced)", "label": "consumer,advanced",
"required": false, "type": "object", "javaType":
"org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut",
"InOptionalOut" ], "deprecated": false, "autowired": false, "secret": false,
"description": "Sets the exchange pattern when the consumer creates an
exchange." },
"lazyStartProducer": { "kind": "parameter", "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 fail during sta [...]
diff --git
a/components-starter/camel-spring-rabbitmq-starter/src/main/docs/spring-rabbitmq-starter.adoc
b/components-starter/camel-spring-rabbitmq-starter/src/main/docs/spring-rabbitmq-starter.adoc
index 391db70..0f876aa 100644
---
a/components-starter/camel-spring-rabbitmq-starter/src/main/docs/spring-rabbitmq-starter.adoc
+++
b/components-starter/camel-spring-rabbitmq-starter/src/main/docs/spring-rabbitmq-starter.adoc
@@ -17,7 +17,7 @@ When using spring-rabbitmq with Spring Boot make sure to use
the following Maven
----
-The component supports 20 options, which are listed below.
+The component supports 21 options, which are listed below.
@@ -37,6 +37,7 @@ The component supports 20 options, which are listed below.
| *camel.component.spring-rabbitmq.enabled* | Whether to enable auto
configuration of the spring-rabbitmq component. This is enabled by default. |
| Boolean
| *camel.component.spring-rabbitmq.error-handler* | To use a custom
ErrorHandler for handling exceptions from the message listener (consumer). The
option is a org.springframework.util.ErrorHandler type. | | ErrorHandler
| *camel.component.spring-rabbitmq.header-filter-strategy* | 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. | |
HeaderFilterStrategy
+| *camel.component.spring-rabbitmq.ignore-declaration-exceptions* | Switch on
ignore exceptions such as mismatched properties when declaring | false | Boolean
| *camel.component.spring-rabbitmq.lazy-start-producer* | 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 proc [...]
| *camel.component.spring-rabbitmq.listener-container-factory* | To use a
custom factory for creating and configuring ListenerContainer to be used by the
consumer for receiving messages. The option is a
org.apache.camel.component.springrabbit.ListenerContainerFactory type. | |
ListenerContainerFactory
| *camel.component.spring-rabbitmq.message-converter* | To use a custom
MessageConverter so you can be in control how to map to/from a
org.springframework.amqp.core.Message. The option is a
org.springframework.amqp.support.converter.MessageConverter type. | |
MessageConverter
@@ -45,6 +46,4 @@ The component supports 20 options, which are listed below.
| *camel.component.spring-rabbitmq.shutdown-timeout* | 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 long as they can finish within this timeout. The option is a long type. |
5000 | Long
| *camel.component.spring-rabbitmq.test-connection-on-startup* | 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. | false | Boolean
|===
-
-
// spring-boot-auto-configure options: END
diff --git
a/components-starter/camel-spring-rabbitmq-starter/src/main/java/org/apache/camel/component/springrabbit/springboot/RabbitMQComponentConfiguration.java
b/components-starter/camel-spring-rabbitmq-starter/src/main/java/org/apache/camel/component/springrabbit/springboot/RabbitMQComponentConfiguration.java
index f05d6a6..bbe8f22 100644
---
a/components-starter/camel-spring-rabbitmq-starter/src/main/java/org/apache/camel/component/springrabbit/springboot/RabbitMQComponentConfiguration.java
+++
b/components-starter/camel-spring-rabbitmq-starter/src/main/java/org/apache/camel/component/springrabbit/springboot/RabbitMQComponentConfiguration.java
@@ -142,6 +142,10 @@ public class RabbitMQComponentConfiguration
*/
private Boolean autowiredEnabled = true;
/**
+ * Switch on ignore exceptions such as mismatched properties when declaring
+ */
+ private Boolean ignoreDeclarationExceptions = false;
+ /**
* To use a custom MessageConverter so you can be in control how to map
* to/from a org.springframework.amqp.core.Message. The option is a
* org.springframework.amqp.support.converter.MessageConverter type.
@@ -290,6 +294,15 @@ public class RabbitMQComponentConfiguration
this.autowiredEnabled = autowiredEnabled;
}
+ public Boolean getIgnoreDeclarationExceptions() {
+ return ignoreDeclarationExceptions;
+ }
+
+ public void setIgnoreDeclarationExceptions(
+ Boolean ignoreDeclarationExceptions) {
+ this.ignoreDeclarationExceptions = ignoreDeclarationExceptions;
+ }
+
public MessageConverter getMessageConverter() {
return messageConverter;
}
diff --git a/docs/modules/ROOT/pages/spring-rabbitmq-starter.adoc
b/docs/modules/ROOT/pages/spring-rabbitmq-starter.adoc
index 391db70..0f876aa 100644
--- a/docs/modules/ROOT/pages/spring-rabbitmq-starter.adoc
+++ b/docs/modules/ROOT/pages/spring-rabbitmq-starter.adoc
@@ -17,7 +17,7 @@ When using spring-rabbitmq with Spring Boot make sure to use
the following Maven
----
-The component supports 20 options, which are listed below.
+The component supports 21 options, which are listed below.
@@ -37,6 +37,7 @@ The component supports 20 options, which are listed below.
| *camel.component.spring-rabbitmq.enabled* | Whether to enable auto
configuration of the spring-rabbitmq component. This is enabled by default. |
| Boolean
| *camel.component.spring-rabbitmq.error-handler* | To use a custom
ErrorHandler for handling exceptions from the message listener (consumer). The
option is a org.springframework.util.ErrorHandler type. | | ErrorHandler
| *camel.component.spring-rabbitmq.header-filter-strategy* | 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. | |
HeaderFilterStrategy
+| *camel.component.spring-rabbitmq.ignore-declaration-exceptions* | Switch on
ignore exceptions such as mismatched properties when declaring | false | Boolean
| *camel.component.spring-rabbitmq.lazy-start-producer* | 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 proc [...]
| *camel.component.spring-rabbitmq.listener-container-factory* | To use a
custom factory for creating and configuring ListenerContainer to be used by the
consumer for receiving messages. The option is a
org.apache.camel.component.springrabbit.ListenerContainerFactory type. | |
ListenerContainerFactory
| *camel.component.spring-rabbitmq.message-converter* | To use a custom
MessageConverter so you can be in control how to map to/from a
org.springframework.amqp.core.Message. The option is a
org.springframework.amqp.support.converter.MessageConverter type. | |
MessageConverter
@@ -45,6 +46,4 @@ The component supports 20 options, which are listed below.
| *camel.component.spring-rabbitmq.shutdown-timeout* | 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 long as they can finish within this timeout. The option is a long type. |
5000 | Long
| *camel.component.spring-rabbitmq.test-connection-on-startup* | 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. | false | Boolean
|===
-
-
// spring-boot-auto-configure options: END