You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by gn...@apache.org on 2020/02/06 13:54:03 UTC

[camel] 01/02: [CAMEL-14507] Additional improvements to endpoint configurers

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

gnodet pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 86a1b91c94713da22d422bb2902a66ba5a1c12be
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Thu Feb 6 14:00:02 2020 +0100

    [CAMEL-14507] Additional improvements to endpoint configurers
---
 .../activemq/ActiveMQEndpointConfigurer.java       |  9 -----
 .../apache/camel/component/activemq/activemq.json  |  1 -
 .../src/main/docs/activemq-component.adoc          |  3 +-
 .../component/amqp/AMQPEndpointConfigurer.java     |  9 -----
 .../org/apache/camel/component/amqp/amqp.json      |  1 -
 .../camel-amqp/src/main/docs/amqp-component.adoc   |  3 +-
 .../beanclass/ClassComponentConfigurer.java        |  7 ----
 .../beanclass/ClassEndpointConfigurer.java         |  7 ----
 .../validator/msv/MsvEndpointConfigurer.java       |  7 ----
 .../component/sjms2/Sjms2ComponentConfigurer.java  |  7 ----
 .../component/stub/StubComponentConfigurer.java    |  7 ----
 .../component/stub/StubEndpointConfigurer.java     |  7 ----
 .../camel/component/vm/VmComponentConfigurer.java  |  7 ----
 .../camel/component/vm/VmEndpointConfigurer.java   |  7 ----
 .../camel/component/xj/XJComponentConfigurer.java  |  7 ----
 .../modules/ROOT/pages/activemq-component.adoc     |  3 +-
 .../modules/ROOT/pages/amqp-component.adoc         |  3 +-
 .../packaging/EndpointSchemaGeneratorMojo.java     | 18 ++++++----
 .../packaging/PropertyConfigurerGenerator.java     | 40 ++++++++++++----------
 19 files changed, 37 insertions(+), 116 deletions(-)

diff --git a/components/camel-activemq/src/generated/java/org/apache/camel/component/activemq/ActiveMQEndpointConfigurer.java b/components/camel-activemq/src/generated/java/org/apache/camel/component/activemq/ActiveMQEndpointConfigurer.java
index 53f6c11..5fb6cac 100644
--- a/components/camel-activemq/src/generated/java/org/apache/camel/component/activemq/ActiveMQEndpointConfigurer.java
+++ b/components/camel-activemq/src/generated/java/org/apache/camel/component/activemq/ActiveMQEndpointConfigurer.java
@@ -11,15 +11,6 @@ import org.apache.camel.component.jms.JmsEndpointConfigurer;
 @SuppressWarnings("unchecked")
 public class ActiveMQEndpointConfigurer extends JmsEndpointConfigurer implements GeneratedPropertyConfigurer {
 
-    @Override
-    public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) {
-        ActiveMQEndpoint target = (ActiveMQEndpoint) obj;
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        case "bridgeerrorhandler":
-        case "bridgeErrorHandler": target.setBridgeErrorHandler(property(camelContext, boolean.class, value)); return true;
-        default: return super.configure(camelContext, obj, name, value, ignoreCase);
-        }
-    }
 
 }
 
diff --git a/components/camel-activemq/src/generated/resources/org/apache/camel/component/activemq/activemq.json b/components/camel-activemq/src/generated/resources/org/apache/camel/component/activemq/activemq.json
index 8683f93..e9444f7 100644
--- a/components/camel-activemq/src/generated/resources/org/apache/camel/component/activemq/activemq.json
+++ b/components/camel-activemq/src/generated/resources/org/apache/camel/component/activemq/activemq.json
@@ -120,7 +120,6 @@
     "acknowledgementModeName": { "kind": "parameter", "displayName": "Acknowledgement Mode Name", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "SESSION_TRANSACTED", "CLIENT_ACKNOWLEDGE", "AUTO_ACKNOWLEDGE", "DUPS_OK_ACKNOWLEDGE" ], "deprecated": false, "secret": false, "defaultValue": "AUTO_ACKNOWLEDGE", "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration" [...]
     "asyncConsumer": { "kind": "parameter", "displayName": "Async Consumer", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Whether the JmsConsumer processes the Exchange asynchronously. If enabled then the JmsConsumer may pickup the next message  [...]
     "autoStartup": { "kind": "parameter", "displayName": "Auto Startup", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "true", "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Specifies whether the consumer container should auto-startup." },
-    "bridgeErrorHandler": { "kind": "parameter", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled b [...]
     "cacheLevel": { "kind": "parameter", "displayName": "Cache Level", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Sets the cache level by ID for the underlying JMS resources. See cacheLevelName option for more details." },
     "cacheLevelName": { "kind": "parameter", "displayName": "Cache Level Name", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "CACHE_AUTO", "CACHE_CONNECTION", "CACHE_CONSUMER", "CACHE_NONE", "CACHE_SESSION" ], "deprecated": false, "secret": false, "defaultValue": "CACHE_AUTO", "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Sets the c [...]
     "concurrentConsumers": { "kind": "parameter", "displayName": "Concurrent Consumers", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "secret": false, "defaultValue": "1", "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Specifies the default number of concurrent consumers when consuming from JMS (not for request\/reply over JMS). See a [...]
diff --git a/components/camel-activemq/src/main/docs/activemq-component.adoc b/components/camel-activemq/src/main/docs/activemq-component.adoc
index f926fe2..b3f1fcc 100644
--- a/components/camel-activemq/src/main/docs/activemq-component.adoc
+++ b/components/camel-activemq/src/main/docs/activemq-component.adoc
@@ -169,7 +169,7 @@ with the following path and query parameters:
 |===
 
 
-=== Query Parameters (94 parameters):
+=== Query Parameters (93 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -184,7 +184,6 @@ with the following path and query parameters:
 | *acknowledgementModeName* (consumer) | The JMS acknowledgement name, which is one of: SESSION_TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE. The value can be one of: SESSION_TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE | AUTO_ACKNOWLEDGE | String
 | *asyncConsumer* (consumer) | 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 transac [...]
 | *autoStartup* (consumer) | Specifies whether the consumer container should auto-startup. | true | boolean
-| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
 | *cacheLevel* (consumer) | Sets the cache level by ID for the underlying JMS resources. See cacheLevelName option for more details. |  | int
 | *cacheLevelName* (consumer) | 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. The value can be one of: CACHE_AUTO, CACHE_CONNECTION, CACHE_CONSUMER, CACHE_NONE, CACHE_SESSION | CACHE_AUTO | String
 | *concurrentConsumers* (consumer) | 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. | 1 | int
diff --git a/components/camel-amqp/src/generated/java/org/apache/camel/component/amqp/AMQPEndpointConfigurer.java b/components/camel-amqp/src/generated/java/org/apache/camel/component/amqp/AMQPEndpointConfigurer.java
index 119a583..7ad3510 100644
--- a/components/camel-amqp/src/generated/java/org/apache/camel/component/amqp/AMQPEndpointConfigurer.java
+++ b/components/camel-amqp/src/generated/java/org/apache/camel/component/amqp/AMQPEndpointConfigurer.java
@@ -11,15 +11,6 @@ import org.apache.camel.component.jms.JmsEndpointConfigurer;
 @SuppressWarnings("unchecked")
 public class AMQPEndpointConfigurer extends JmsEndpointConfigurer implements GeneratedPropertyConfigurer {
 
-    @Override
-    public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) {
-        AMQPEndpoint target = (AMQPEndpoint) obj;
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        case "bridgeerrorhandler":
-        case "bridgeErrorHandler": target.setBridgeErrorHandler(property(camelContext, boolean.class, value)); return true;
-        default: return super.configure(camelContext, obj, name, value, ignoreCase);
-        }
-    }
 
 }
 
diff --git a/components/camel-amqp/src/generated/resources/org/apache/camel/component/amqp/amqp.json b/components/camel-amqp/src/generated/resources/org/apache/camel/component/amqp/amqp.json
index 347c877..996445f 100644
--- a/components/camel-amqp/src/generated/resources/org/apache/camel/component/amqp/amqp.json
+++ b/components/camel-amqp/src/generated/resources/org/apache/camel/component/amqp/amqp.json
@@ -117,7 +117,6 @@
     "acknowledgementModeName": { "kind": "parameter", "displayName": "Acknowledgement Mode Name", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "SESSION_TRANSACTED", "CLIENT_ACKNOWLEDGE", "AUTO_ACKNOWLEDGE", "DUPS_OK_ACKNOWLEDGE" ], "deprecated": false, "secret": false, "defaultValue": "AUTO_ACKNOWLEDGE", "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration" [...]
     "asyncConsumer": { "kind": "parameter", "displayName": "Async Consumer", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Whether the JmsConsumer processes the Exchange asynchronously. If enabled then the JmsConsumer may pickup the next message  [...]
     "autoStartup": { "kind": "parameter", "displayName": "Auto Startup", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "true", "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Specifies whether the consumer container should auto-startup." },
-    "bridgeErrorHandler": { "kind": "parameter", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled b [...]
     "cacheLevel": { "kind": "parameter", "displayName": "Cache Level", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Sets the cache level by ID for the underlying JMS resources. See cacheLevelName option for more details." },
     "cacheLevelName": { "kind": "parameter", "displayName": "Cache Level Name", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "CACHE_AUTO", "CACHE_CONNECTION", "CACHE_CONSUMER", "CACHE_NONE", "CACHE_SESSION" ], "deprecated": false, "secret": false, "defaultValue": "CACHE_AUTO", "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Sets the c [...]
     "concurrentConsumers": { "kind": "parameter", "displayName": "Concurrent Consumers", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "secret": false, "defaultValue": "1", "configurationClass": "org.apache.camel.component.jms.JmsConfiguration", "configurationField": "configuration", "description": "Specifies the default number of concurrent consumers when consuming from JMS (not for request\/reply over JMS). See a [...]
diff --git a/components/camel-amqp/src/main/docs/amqp-component.adoc b/components/camel-amqp/src/main/docs/amqp-component.adoc
index 761a341..fffbe37 100644
--- a/components/camel-amqp/src/main/docs/amqp-component.adoc
+++ b/components/camel-amqp/src/main/docs/amqp-component.adoc
@@ -161,7 +161,7 @@ with the following path and query parameters:
 |===
 
 
-=== Query Parameters (94 parameters):
+=== Query Parameters (93 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -176,7 +176,6 @@ with the following path and query parameters:
 | *acknowledgementModeName* (consumer) | The JMS acknowledgement name, which is one of: SESSION_TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE. The value can be one of: SESSION_TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE | AUTO_ACKNOWLEDGE | String
 | *asyncConsumer* (consumer) | 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 transac [...]
 | *autoStartup* (consumer) | Specifies whether the consumer container should auto-startup. | true | boolean
-| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
 | *cacheLevel* (consumer) | Sets the cache level by ID for the underlying JMS resources. See cacheLevelName option for more details. |  | int
 | *cacheLevelName* (consumer) | 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. The value can be one of: CACHE_AUTO, CACHE_CONNECTION, CACHE_CONSUMER, CACHE_NONE, CACHE_SESSION | CACHE_AUTO | String
 | *concurrentConsumers* (consumer) | 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. | 1 | int
diff --git a/components/camel-bean/src/generated/java/org/apache/camel/component/beanclass/ClassComponentConfigurer.java b/components/camel-bean/src/generated/java/org/apache/camel/component/beanclass/ClassComponentConfigurer.java
index f04a79a..0868639 100644
--- a/components/camel-bean/src/generated/java/org/apache/camel/component/beanclass/ClassComponentConfigurer.java
+++ b/components/camel-bean/src/generated/java/org/apache/camel/component/beanclass/ClassComponentConfigurer.java
@@ -11,13 +11,6 @@ import org.apache.camel.component.bean.BeanComponentConfigurer;
 @SuppressWarnings("unchecked")
 public class ClassComponentConfigurer extends BeanComponentConfigurer implements GeneratedPropertyConfigurer {
 
-    @Override
-    public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) {
-        ClassComponent target = (ClassComponent) obj;
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        default: return super.configure(camelContext, obj, name, value, ignoreCase);
-        }
-    }
 
 }
 
diff --git a/components/camel-bean/src/generated/java/org/apache/camel/component/beanclass/ClassEndpointConfigurer.java b/components/camel-bean/src/generated/java/org/apache/camel/component/beanclass/ClassEndpointConfigurer.java
index 1e12d0a..af84ecd 100644
--- a/components/camel-bean/src/generated/java/org/apache/camel/component/beanclass/ClassEndpointConfigurer.java
+++ b/components/camel-bean/src/generated/java/org/apache/camel/component/beanclass/ClassEndpointConfigurer.java
@@ -11,13 +11,6 @@ import org.apache.camel.component.bean.BeanEndpointConfigurer;
 @SuppressWarnings("unchecked")
 public class ClassEndpointConfigurer extends BeanEndpointConfigurer implements GeneratedPropertyConfigurer {
 
-    @Override
-    public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) {
-        ClassEndpoint target = (ClassEndpoint) obj;
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        default: return super.configure(camelContext, obj, name, value, ignoreCase);
-        }
-    }
 
 }
 
diff --git a/components/camel-msv/src/generated/java/org/apache/camel/component/validator/msv/MsvEndpointConfigurer.java b/components/camel-msv/src/generated/java/org/apache/camel/component/validator/msv/MsvEndpointConfigurer.java
index 86939c6..b02b8a3 100644
--- a/components/camel-msv/src/generated/java/org/apache/camel/component/validator/msv/MsvEndpointConfigurer.java
+++ b/components/camel-msv/src/generated/java/org/apache/camel/component/validator/msv/MsvEndpointConfigurer.java
@@ -11,13 +11,6 @@ import org.apache.camel.component.validator.ValidatorEndpointConfigurer;
 @SuppressWarnings("unchecked")
 public class MsvEndpointConfigurer extends ValidatorEndpointConfigurer implements GeneratedPropertyConfigurer {
 
-    @Override
-    public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) {
-        MsvEndpoint target = (MsvEndpoint) obj;
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        default: return super.configure(camelContext, obj, name, value, ignoreCase);
-        }
-    }
 
 }
 
diff --git a/components/camel-sjms2/src/generated/java/org/apache/camel/component/sjms2/Sjms2ComponentConfigurer.java b/components/camel-sjms2/src/generated/java/org/apache/camel/component/sjms2/Sjms2ComponentConfigurer.java
index 507220f..7980c27 100644
--- a/components/camel-sjms2/src/generated/java/org/apache/camel/component/sjms2/Sjms2ComponentConfigurer.java
+++ b/components/camel-sjms2/src/generated/java/org/apache/camel/component/sjms2/Sjms2ComponentConfigurer.java
@@ -11,13 +11,6 @@ import org.apache.camel.component.sjms.SjmsComponentConfigurer;
 @SuppressWarnings("unchecked")
 public class Sjms2ComponentConfigurer extends SjmsComponentConfigurer implements GeneratedPropertyConfigurer {
 
-    @Override
-    public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) {
-        Sjms2Component target = (Sjms2Component) obj;
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        default: return super.configure(camelContext, obj, name, value, ignoreCase);
-        }
-    }
 
 }
 
diff --git a/components/camel-stub/src/generated/java/org/apache/camel/component/stub/StubComponentConfigurer.java b/components/camel-stub/src/generated/java/org/apache/camel/component/stub/StubComponentConfigurer.java
index b61192e..1c0d79e 100644
--- a/components/camel-stub/src/generated/java/org/apache/camel/component/stub/StubComponentConfigurer.java
+++ b/components/camel-stub/src/generated/java/org/apache/camel/component/stub/StubComponentConfigurer.java
@@ -11,13 +11,6 @@ import org.apache.camel.component.vm.VmComponentConfigurer;
 @SuppressWarnings("unchecked")
 public class StubComponentConfigurer extends VmComponentConfigurer implements GeneratedPropertyConfigurer {
 
-    @Override
-    public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) {
-        StubComponent target = (StubComponent) obj;
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        default: return super.configure(camelContext, obj, name, value, ignoreCase);
-        }
-    }
 
 }
 
diff --git a/components/camel-stub/src/generated/java/org/apache/camel/component/stub/StubEndpointConfigurer.java b/components/camel-stub/src/generated/java/org/apache/camel/component/stub/StubEndpointConfigurer.java
index 6f32d56..f761636 100644
--- a/components/camel-stub/src/generated/java/org/apache/camel/component/stub/StubEndpointConfigurer.java
+++ b/components/camel-stub/src/generated/java/org/apache/camel/component/stub/StubEndpointConfigurer.java
@@ -11,13 +11,6 @@ import org.apache.camel.component.vm.VmEndpointConfigurer;
 @SuppressWarnings("unchecked")
 public class StubEndpointConfigurer extends VmEndpointConfigurer implements GeneratedPropertyConfigurer {
 
-    @Override
-    public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) {
-        StubEndpoint target = (StubEndpoint) obj;
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        default: return super.configure(camelContext, obj, name, value, ignoreCase);
-        }
-    }
 
 }
 
diff --git a/components/camel-vm/src/generated/java/org/apache/camel/component/vm/VmComponentConfigurer.java b/components/camel-vm/src/generated/java/org/apache/camel/component/vm/VmComponentConfigurer.java
index 0b18930..6101979 100644
--- a/components/camel-vm/src/generated/java/org/apache/camel/component/vm/VmComponentConfigurer.java
+++ b/components/camel-vm/src/generated/java/org/apache/camel/component/vm/VmComponentConfigurer.java
@@ -11,13 +11,6 @@ import org.apache.camel.component.seda.SedaComponentConfigurer;
 @SuppressWarnings("unchecked")
 public class VmComponentConfigurer extends SedaComponentConfigurer implements GeneratedPropertyConfigurer {
 
-    @Override
-    public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) {
-        VmComponent target = (VmComponent) obj;
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        default: return super.configure(camelContext, obj, name, value, ignoreCase);
-        }
-    }
 
 }
 
diff --git a/components/camel-vm/src/generated/java/org/apache/camel/component/vm/VmEndpointConfigurer.java b/components/camel-vm/src/generated/java/org/apache/camel/component/vm/VmEndpointConfigurer.java
index 4186921..f068d2b 100644
--- a/components/camel-vm/src/generated/java/org/apache/camel/component/vm/VmEndpointConfigurer.java
+++ b/components/camel-vm/src/generated/java/org/apache/camel/component/vm/VmEndpointConfigurer.java
@@ -11,13 +11,6 @@ import org.apache.camel.component.seda.SedaEndpointConfigurer;
 @SuppressWarnings("unchecked")
 public class VmEndpointConfigurer extends SedaEndpointConfigurer implements GeneratedPropertyConfigurer {
 
-    @Override
-    public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) {
-        VmEndpoint target = (VmEndpoint) obj;
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        default: return super.configure(camelContext, obj, name, value, ignoreCase);
-        }
-    }
 
 }
 
diff --git a/components/camel-xj/src/generated/java/org/apache/camel/component/xj/XJComponentConfigurer.java b/components/camel-xj/src/generated/java/org/apache/camel/component/xj/XJComponentConfigurer.java
index 0a674c6..c175653 100644
--- a/components/camel-xj/src/generated/java/org/apache/camel/component/xj/XJComponentConfigurer.java
+++ b/components/camel-xj/src/generated/java/org/apache/camel/component/xj/XJComponentConfigurer.java
@@ -11,13 +11,6 @@ import org.apache.camel.component.xslt.saxon.XsltSaxonComponentConfigurer;
 @SuppressWarnings("unchecked")
 public class XJComponentConfigurer extends XsltSaxonComponentConfigurer implements GeneratedPropertyConfigurer {
 
-    @Override
-    public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) {
-        XJComponent target = (XJComponent) obj;
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        default: return super.configure(camelContext, obj, name, value, ignoreCase);
-        }
-    }
 
 }
 
diff --git a/docs/components/modules/ROOT/pages/activemq-component.adoc b/docs/components/modules/ROOT/pages/activemq-component.adoc
index c514923..7ec3c91 100644
--- a/docs/components/modules/ROOT/pages/activemq-component.adoc
+++ b/docs/components/modules/ROOT/pages/activemq-component.adoc
@@ -170,7 +170,7 @@ with the following path and query parameters:
 |===
 
 
-=== Query Parameters (94 parameters):
+=== Query Parameters (93 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -185,7 +185,6 @@ with the following path and query parameters:
 | *acknowledgementModeName* (consumer) | The JMS acknowledgement name, which is one of: SESSION_TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE. The value can be one of: SESSION_TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE | AUTO_ACKNOWLEDGE | String
 | *asyncConsumer* (consumer) | 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 transac [...]
 | *autoStartup* (consumer) | Specifies whether the consumer container should auto-startup. | true | boolean
-| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
 | *cacheLevel* (consumer) | Sets the cache level by ID for the underlying JMS resources. See cacheLevelName option for more details. |  | int
 | *cacheLevelName* (consumer) | 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. The value can be one of: CACHE_AUTO, CACHE_CONNECTION, CACHE_CONSUMER, CACHE_NONE, CACHE_SESSION | CACHE_AUTO | String
 | *concurrentConsumers* (consumer) | 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. | 1 | int
diff --git a/docs/components/modules/ROOT/pages/amqp-component.adoc b/docs/components/modules/ROOT/pages/amqp-component.adoc
index 20afd07..ecd2381 100644
--- a/docs/components/modules/ROOT/pages/amqp-component.adoc
+++ b/docs/components/modules/ROOT/pages/amqp-component.adoc
@@ -162,7 +162,7 @@ with the following path and query parameters:
 |===
 
 
-=== Query Parameters (94 parameters):
+=== Query Parameters (93 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -177,7 +177,6 @@ with the following path and query parameters:
 | *acknowledgementModeName* (consumer) | The JMS acknowledgement name, which is one of: SESSION_TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE. The value can be one of: SESSION_TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE | AUTO_ACKNOWLEDGE | String
 | *asyncConsumer* (consumer) | 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 transac [...]
 | *autoStartup* (consumer) | Specifies whether the consumer container should auto-startup. | true | boolean
-| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
 | *cacheLevel* (consumer) | Sets the cache level by ID for the underlying JMS resources. See cacheLevelName option for more details. |  | int
 | *cacheLevelName* (consumer) | 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. The value can be one of: CACHE_AUTO, CACHE_CONNECTION, CACHE_CONSUMER, CACHE_NONE, CACHE_SESSION | CACHE_AUTO | String
 | *concurrentConsumers* (consumer) | 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. | 1 | int
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
index 0526959..1789e8e 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
@@ -39,6 +39,7 @@ import java.util.Collections;
 import java.util.Comparator;
 import java.util.Date;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
@@ -75,14 +76,12 @@ import org.apache.maven.plugins.annotations.ResolutionScope;
 import org.jboss.forge.roaster.Roaster;
 import org.jboss.forge.roaster._shade.org.eclipse.jdt.core.dom.ASTNode;
 import org.jboss.forge.roaster._shade.org.eclipse.jdt.core.dom.Javadoc;
-import org.jboss.forge.roaster._shade.org.eclipse.jdt.core.dom.SimpleType;
 import org.jboss.forge.roaster._shade.org.eclipse.jdt.core.dom.SingleVariableDeclaration;
 import org.jboss.forge.roaster.model.JavaDoc;
 import org.jboss.forge.roaster.model.JavaDocCapable;
 import org.jboss.forge.roaster.model.impl.TypeImpl;
 import org.jboss.forge.roaster.model.source.FieldSource;
 import org.jboss.forge.roaster.model.source.JavaClassSource;
-import org.jboss.forge.roaster.model.source.JavaSource;
 import org.jboss.forge.roaster.model.source.MethodSource;
 import org.jboss.jandex.AnnotationInstance;
 import org.jboss.jandex.AnnotationTarget;
@@ -200,7 +199,7 @@ public class EndpointSchemaGeneratorMojo extends AbstractGeneratorMojo {
         }
 
         // endpoint options
-        findClassProperties(componentModel, classElement, "", uriEndpoint.excludeProperties(), parentData, null, null);
+        findClassProperties(componentModel, classElement, new HashSet<>(), "", parentData, null, null);
 
         // enhance and generate
         enhanceComponentModel(componentModel, parentData, uriEndpoint.excludeProperties());
@@ -699,10 +698,15 @@ public class EndpointSchemaGeneratorMojo extends AbstractGeneratorMojo {
     }
 
     protected void findClassProperties(ComponentModel componentModel, Class<?> classElement,
-                                       String prefix, String excludeProperties,
+                                       Set<String> excludes, String prefix,
                                        ComponentModel parentData, String nestedTypeName, String nestedFieldName) {
         final Class<?> orgClassElement = classElement;
+        excludes = new HashSet<>(excludes);
         while (true) {
+            final UriEndpoint uriEndpoint = classElement.getAnnotation(UriEndpoint.class);
+            if (uriEndpoint != null) {
+                Collections.addAll(excludes, uriEndpoint.excludeProperties().split(","));
+            }
             for (Field fieldElement : classElement.getDeclaredFields()) {
 
                 Metadata metadata = fieldElement.getAnnotation(Metadata.class);
@@ -722,7 +726,7 @@ public class EndpointSchemaGeneratorMojo extends AbstractGeneratorMojo {
                     String name = prefix + (Strings.isNullOrEmpty(path.name()) ? fieldName : path.name());
 
                     // should we exclude the name?
-                    if (excludeProperty(excludeProperties, name)) {
+                    if (excludes.contains(name)) {
                         continue;
                     }
 
@@ -807,7 +811,7 @@ public class EndpointSchemaGeneratorMojo extends AbstractGeneratorMojo {
                     String name = prefix + (Strings.isNullOrEmpty(param.name()) ? fieldName : param.name());
 
                     // should we exclude the name?
-                    if (excludeProperty(excludeProperties, name)) {
+                    if (excludes.contains(name)) {
                         continue;
                     }
 
@@ -846,7 +850,7 @@ public class EndpointSchemaGeneratorMojo extends AbstractGeneratorMojo {
                         }
                         nestedTypeName = fieldTypeName;
                         nestedFieldName = fieldElement.getName();
-                        findClassProperties(componentModel, fieldTypeElement, nestedPrefix, excludeProperties, null, nestedTypeName, nestedFieldName);
+                        findClassProperties(componentModel, fieldTypeElement, excludes, nestedPrefix, null, nestedTypeName, nestedFieldName);
                         nestedTypeName = null;
                         nestedFieldName = null;
                     } else {
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PropertyConfigurerGenerator.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PropertyConfigurerGenerator.java
index 6f17fa6..5b15c36 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PropertyConfigurerGenerator.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PropertyConfigurerGenerator.java
@@ -43,26 +43,30 @@ public final class PropertyConfigurerGenerator {
         w.write("@SuppressWarnings(\"unchecked\")\n");
         w.write("public class " + cn + " extends " + psn + " implements GeneratedPropertyConfigurer {\n");
         w.write("\n");
-        w.write("    @Override\n");
-        w.write("    public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) {\n");
-        w.write("        " + en + " target = (" + en + ") obj;\n");
-        w.write("        switch (ignoreCase ? name.toLowerCase() : name) {\n");
-        for (BaseOptionModel option : options) {
-            String getOrSet = option.getName();
-            getOrSet = Character.toUpperCase(getOrSet.charAt(0)) + getOrSet.substring(1);
-            String setterLambda = setterLambda(getOrSet, option.getJavaType(), option.getConfigurationField());
-            if (!option.getName().toLowerCase().equals(option.getName())) {
-                w.write(String.format("        case \"%s\":\n", option.getName().toLowerCase()));
+        if (!options.isEmpty() || !hasSuper) {
+            w.write("    @Override\n");
+            w.write("    public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) {\n");
+            if (!options.isEmpty()) {
+                w.write("        " + en + " target = (" + en + ") obj;\n");
+                w.write("        switch (ignoreCase ? name.toLowerCase() : name) {\n");
+                for (BaseOptionModel option : options) {
+                    String getOrSet = option.getName();
+                    getOrSet = Character.toUpperCase(getOrSet.charAt(0)) + getOrSet.substring(1);
+                    String setterLambda = setterLambda(getOrSet, option.getJavaType(), option.getConfigurationField());
+                    if (!option.getName().toLowerCase().equals(option.getName())) {
+                        w.write(String.format("        case \"%s\":\n", option.getName().toLowerCase()));
+                    }
+                    w.write(String.format("        case \"%s\": %s; return true;\n", option.getName(), setterLambda));
+                }
+                if (hasSuper) {
+                    w.write("        default: return super.configure(camelContext, obj, name, value, ignoreCase);\n");
+                } else {
+                    w.write("        default: return false;\n");
+                }
+                w.write("        }\n");
             }
-            w.write(String.format("        case \"%s\": %s; return true;\n", option.getName(), setterLambda));
+            w.write("    }\n");
         }
-        if (hasSuper) {
-            w.write("        default: return super.configure(camelContext, obj, name, value, ignoreCase);\n");
-        } else {
-            w.write("        default: return false;\n");
-        }
-        w.write("        }\n");
-        w.write("    }\n");
         w.write("\n");
         w.write("}\n");
         w.write("\n");