You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2019/01/14 15:59:50 UTC

[camel] branch master updated (ec4900c -> fe7b90d)

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

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


    from ec4900c  Add annotations for cloud service factory and send dynamic
     new 93b40ad  CAMEL-13051: Remove @deprecated consumerClass attribute on @UriEndpoint.
     new fe7b90d  CAMEL-13051: The component json metafiles need to be enriched later with more details after the compilation process.

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../camel/component/dataset/DataSetEndpoint.java   |  2 +-
 .../camel/component/direct/DirectEndpoint.java     |  2 +-
 .../camel/component/directvm/DirectVmEndpoint.java |  2 +-
 .../apache/camel/component/file/FileEndpoint.java  |  2 +-
 .../component/scheduler/SchedulerEndpoint.java     |  2 +-
 .../apache/camel/component/seda/SedaEndpoint.java  |  2 +-
 .../apache/camel/component/stub/StubEndpoint.java  |  2 +-
 .../camel/component/timer/TimerEndpoint.java       |  2 +-
 .../org/apache/camel/component/vm/VmEndpoint.java  |  2 +-
 .../apache/camel/component/ahc/ws/WsEndpoint.java  |  2 +-
 .../apache/camel/component/amqp/AMQPEndpoint.java  |  2 +-
 .../apache/camel/component/apns/ApnsEndpoint.java  |  2 +-
 .../apache/camel/component/as2/AS2Endpoint.java    |  2 +-
 .../camel/component/asterisk/AsteriskEndpoint.java |  2 +-
 .../camel/component/atmos/AtmosEndpoint.java       |  2 +-
 .../atmosphere/websocket/WebsocketEndpoint.java    |  2 +-
 .../apache/camel/component/atom/AtomEndpoint.java  |  2 +-
 .../atomix/client/map/AtomixMapEndpoint.java       |  1 -
 .../client/messaging/AtomixMessagingEndpoint.java  |  1 -
 .../atomix/client/queue/AtomixQueueEndpoint.java   |  1 -
 .../atomix/client/set/AtomixSetEndpoint.java       |  1 -
 .../atomix/client/value/AtomixValueEndpoint.java   |  1 -
 .../apache/camel/component/avro/AvroEndpoint.java  |  2 +-
 .../component/aws/ddbstream/DdbStreamEndpoint.java |  2 +-
 .../component/aws/kinesis/KinesisEndpoint.java     |  2 +-
 .../apache/camel/component/aws/s3/S3Endpoint.java  |  2 +-
 .../camel/component/aws/sqs/SqsEndpoint.java       |  2 +-
 .../camel/component/aws/swf/SWFEndpoint.java       |  2 +-
 .../component/azure/blob/BlobServiceEndpoint.java  |  1 -
 .../azure/queue/QueueServiceEndpoint.java          |  1 -
 .../component/beanstalk/BeanstalkEndpoint.java     |  2 +-
 .../apache/camel/component/box/BoxEndpoint.java    |  2 +-
 .../component/braintree/BraintreeEndpoint.java     |  2 +-
 .../component/cassandra/CassandraEndpoint.java     |  2 +-
 .../chronicle/engine/ChronicleEngineEndpoint.java  |  1 -
 .../apache/camel/component/cmis/CMISEndpoint.java  |  2 +-
 .../java/org/apache/camel/coap/CoAPEndpoint.java   |  2 +-
 .../camel/component/cometd/CometdEndpoint.java     |  2 +-
 .../camel/component/corda/CordaEndpoint.java       |  2 +-
 .../component/couchbase/CouchbaseEndpoint.java     |  2 +-
 .../camel/component/couchdb/CouchDbEndpoint.java   |  2 +-
 .../apache/camel/component/cxf/CxfEndpoint.java    |  2 +-
 .../camel/component/cxf/jaxrs/CxfRsEndpoint.java   |  2 +-
 .../component/disruptor/DisruptorEndpoint.java     |  2 +-
 .../camel/component/dropbox/DropboxEndpoint.java   |  2 +-
 .../camel/component/ehcache/EhcacheEndpoint.java   |  2 +-
 .../camel/component/elsql/ElsqlEndpoint.java       |  2 +-
 .../etcd/AbstractEtcdPollingEndpoint.java          |  2 +-
 .../component/eventadmin/EventAdminEndpoint.java   |  2 +-
 .../camel/component/facebook/FacebookEndpoint.java |  2 +-
 .../apache/camel/component/fhir/FhirEndpoint.java  |  2 +-
 .../camel/component/flatpack/FlatpackEndpoint.java |  2 +-
 .../camel/component/file/remote/FtpEndpoint.java   |  2 +-
 .../camel/component/file/remote/FtpsEndpoint.java  |  2 +-
 .../camel/component/file/remote/SftpEndpoint.java  |  2 +-
 .../google/calendar/GoogleCalendarEndpoint.java    |  2 +-
 .../stream/GoogleCalendarStreamEndpoint.java       |  1 -
 .../google/drive/GoogleDriveEndpoint.java          |  2 +-
 .../component/google/mail/GoogleMailEndpoint.java  |  3 +-
 .../mail/stream/GoogleMailStreamEndpoint.java      |  1 -
 .../google/sheets/GoogleSheetsEndpoint.java        |  2 +-
 .../sheets/stream/GoogleSheetsStreamEndpoint.java  |  1 -
 .../apache/camel/component/gora/GoraEndpoint.java  |  2 +-
 .../guava/eventbus/GuavaEventBusEndpoint.java      |  2 +-
 .../instance/HazelcastInstanceEndpoint.java        |  2 +-
 .../camel/component/hbase/HBaseEndpoint.java       |  2 +-
 .../apache/camel/component/hdfs2/HdfsEndpoint.java |  2 +-
 .../camel/component/hipchat/HipchatEndpoint.java   |  2 +-
 .../component/iec60870/client/ClientEndpoint.java  |  2 +-
 .../component/iec60870/server/ServerEndpoint.java  |  2 +-
 .../ignite/cache/IgniteCacheEndpoint.java          |  3 +-
 .../ignite/events/IgniteEventsEndpoint.java        |  2 +-
 .../ignite/messaging/IgniteMessagingEndpoint.java  |  3 +-
 .../component/infinispan/InfinispanEndpoint.java   |  2 +-
 .../apache/camel/component/irc/IrcEndpoint.java    |  1 -
 .../camel/component/ironmq/IronMQEndpoint.java     |  2 +-
 .../camel/component/jcache/JCacheEndpoint.java     |  2 +-
 .../camel/component/jclouds/JcloudsEndpoint.java   |  2 +-
 .../apache/camel/component/jcr/JcrEndpoint.java    |  2 +-
 .../camel/component/jetty9/JettyHttpEndpoint9.java |  2 +-
 .../jgroups/raft/JGroupsRaftEndpoint.java          |  2 +-
 .../camel/component/jgroups/JGroupsEndpoint.java   |  2 +-
 .../apache/camel/component/jms/JmsEndpoint.java    |  2 +-
 .../apache/camel/component/jmx/JMXEndpoint.java    |  2 +-
 .../apache/camel/component/jpa/JpaEndpoint.java    |  2 +-
 .../camel/component/jt400/Jt400Endpoint.java       |  2 +-
 .../camel/component/kafka/KafkaEndpoint.java       |  2 +-
 .../deployments/KubernetesDeploymentsEndpoint.java |  2 +-
 .../kubernetes/hpa/KubernetesHPAEndpoint.java      |  2 +-
 .../namespaces/KubernetesNamespacesEndpoint.java   |  2 +-
 .../kubernetes/nodes/KubernetesNodesEndpoint.java  |  2 +-
 .../kubernetes/pods/KubernetesPodsEndpoint.java    |  2 +-
 .../KubernetesReplicationControllersEndpoint.java  |  2 +-
 .../services/KubernetesServicesEndpoint.java       |  2 +-
 .../camel/component/linkedin/LinkedInEndpoint.java |  2 +-
 .../component/lumberjack/LumberjackEndpoint.java   |  2 +-
 .../apache/camel/component/mail/MailEndpoint.java  |  2 +-
 .../camel/component/master/MasterEndpoint.java     |  1 -
 .../component/milo/client/MiloClientEndpoint.java  |  2 +-
 .../component/milo/server/MiloServerEndpoint.java  |  2 +-
 .../camel/component/mina2/Mina2Endpoint.java       |  2 +-
 .../apache/camel/component/mllp/MllpEndpoint.java  |  2 +-
 .../camel/component/mongodb3/MongoDbEndpoint.java  |  2 +-
 .../apache/camel/component/mqtt/MQTTEndpoint.java  |  2 +-
 .../camel/component/mybatis/MyBatisEndpoint.java   |  2 +-
 .../apache/camel/component/nats/NatsEndpoint.java  |  2 +-
 .../component/netty4/http/NettyHttpEndpoint.java   |  2 +-
 .../camel/component/netty4/NettyEndpoint.java      |  2 +-
 .../apache/camel/component/nsq/NsqEndpoint.java    |  2 +-
 .../camel/component/olingo2/Olingo2Endpoint.java   |  2 +-
 .../camel/component/olingo4/Olingo4Endpoint.java   |  2 +-
 .../apache/camel/component/paho/PahoEndpoint.java  |  2 +-
 .../component/paxlogging/PaxLoggingEndpoint.java   |  2 +-
 .../camel/component/pgevent/PgEventEndpoint.java   |  2 +-
 .../camel/component/pubnub/PubNubEndpoint.java     |  2 +-
 .../camel/component/quartz2/QuartzEndpoint.java    |  2 +-
 .../component/quickfixj/QuickfixjEndpoint.java     |  2 +-
 .../camel/component/rabbitmq/RabbitMQEndpoint.java |  2 +-
 .../reactive/streams/ReactiveStreamsEndpoint.java  |  2 +-
 .../camel/component/restlet/RestletEndpoint.java   |  2 +-
 .../apache/camel/component/rmi/RmiEndpoint.java    |  2 +-
 .../apache/camel/component/rss/RssEndpoint.java    |  2 +-
 .../component/salesforce/SalesforceEndpoint.java   |  2 +-
 .../camel/component/service/ServiceEndpoint.java   |  1 -
 .../camel/component/servlet/ServletEndpoint.java   |  2 +-
 .../apache/camel/component/sjms/SjmsEndpoint.java  |  2 +-
 .../component/sjms/batch/SjmsBatchEndpoint.java    |  2 +-
 .../camel/component/sjms2/Sjms2Endpoint.java       |  2 +-
 .../apache/camel/component/smpp/SmppEndpoint.java  |  2 +-
 .../camel/component/sparkrest/SparkEndpoint.java   |  2 +-
 .../camel/component/splunk/SplunkEndpoint.java     |  2 +-
 .../integration/SpringIntegrationEndpoint.java     |  2 +-
 .../camel/component/redis/RedisEndpoint.java       |  2 +-
 .../spring/ws/SpringWebserviceEndpoint.java        |  2 +-
 .../camel/component/event/EventEndpoint.java       |  2 +-
 .../apache/camel/component/sql/SqlEndpoint.java    |  2 +-
 .../apache/camel/component/ssh/SshEndpoint.java    |  2 +-
 .../camel/component/stomp/StompEndpoint.java       |  2 +-
 .../camel/component/stream/StreamEndpoint.java     |  2 +-
 .../camel/component/telegram/TelegramEndpoint.java |  2 +-
 .../camel/component/twilio/TwilioEndpoint.java     |  2 +-
 .../TwitterDirectMessageEndpoint.java              |  2 +-
 .../twitter/search/TwitterSearchEndpoint.java      |  2 +-
 .../streaming/TwitterStreamingEndpoint.java        |  2 +-
 .../twitter/timeline/TwitterTimelineEndpoint.java  |  2 +-
 .../camel/component/undertow/UndertowEndpoint.java |  2 +-
 .../camel/component/vertx/VertxEndpoint.java       |  2 +-
 .../camel/component/weather/WeatherEndpoint.java   |  2 +-
 .../camel/component/web3j/Web3jEndpoint.java       |  2 +-
 .../camel/websocket/jsr356/JSR356Endpoint.java     |  2 +-
 .../component/websocket/WebsocketEndpoint.java     |  2 +-
 .../apache/camel/component/xmpp/XmppEndpoint.java  |  2 +-
 .../camel/component/yammer/YammerEndpoint.java     |  2 +-
 .../camel/component/zendesk/ZendeskEndpoint.java   |  2 +-
 .../component/zookeepermaster/MasterEndpoint.java  |  2 +-
 .../component/zookeeper/ZooKeeperEndpoint.java     |  2 +-
 .../tools/apt/EndpointAnnotationProcessor.java     | 10 ++--
 .../maven/packaging/PackageComponentMojo.java      | 60 ++++++++++++++++++++--
 .../maven/packaging/PrepareComponentMojo.java      |  9 +++-
 159 files changed, 212 insertions(+), 168 deletions(-)


[camel] 02/02: CAMEL-13051: The component json metafiles need to be enriched later with more details after the compilation process.

Posted by da...@apache.org.
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.git

commit fe7b90dc2182f7b6a9033dc1b3ede50eecdb2c39
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Mon Jan 14 16:34:36 2019 +0100

    CAMEL-13051: The component json metafiles need to be enriched later with more details after the compilation process.
---
 .../tools/apt/EndpointAnnotationProcessor.java     | 10 ++--
 .../maven/packaging/PackageComponentMojo.java      | 60 ++++++++++++++++++++--
 .../maven/packaging/PrepareComponentMojo.java      |  9 +++-
 3 files changed, 70 insertions(+), 9 deletions(-)

diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java
index 7bb2c9c..5d41446 100644
--- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java
+++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java
@@ -362,11 +362,11 @@ public class EndpointAnnotationProcessor extends AbstractCamelAnnotationProcesso
         model.setDeprecationNote(deprecationNote);
 
         // these information is not available at compile time and we enrich these later during the camel-package-maven-plugin
-        model.setJavaType("REPLACE-ME");
-        model.setDescription("REPLACE-ME");
-        model.setGroupId("REPLACE-ME");
-        model.setArtifactId("REPLACE-ME");
-        model.setVersionId("REPLACE-ME");
+        model.setJavaType("@@@JAVATYPE@@@");
+        model.setDescription("@@@DESCRIPTION@@@");
+        model.setGroupId("@@@GROUPID@@@");
+        model.setArtifactId("@@@ARTIFACTID@@@");
+        model.setVersionId("@@@VERSIONID@@@");
 
         // favor to use endpoint class javadoc as description
         Elements elementUtils = processingEnv.getElementUtils();
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageComponentMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageComponentMojo.java
index cfa6e39..23f43b4 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageComponentMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageComponentMojo.java
@@ -22,9 +22,11 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.util.Collections;
+import java.util.LinkedHashMap;
+import java.util.Map;
 import java.util.Properties;
+import java.util.Set;
 
-import org.apache.maven.model.Resource;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
@@ -36,6 +38,9 @@ import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.MavenProjectHelper;
 import org.sonatype.plexus.build.incremental.BuildContext;
 
+import static org.apache.camel.maven.packaging.PackageHelper.loadText;
+import static org.apache.camel.maven.packaging.PackageHelper.writeText;
+
 /**
  * Analyses the Camel plugins in a project and generates extra descriptor information for easier auto-discovery in Camel.
  */
@@ -55,6 +60,13 @@ public class PackageComponentMojo extends AbstractMojo {
     protected File componentOutDir;
 
     /**
+     * The project build directory
+     *
+     */
+    @Parameter(defaultValue="${project.build.directory}")
+    protected File buildDir;
+
+    /**
      * Maven ProjectHelper.
      */
     @Component
@@ -75,10 +87,10 @@ public class PackageComponentMojo extends AbstractMojo {
      * @throws MojoFailureException something bad happened...
      */
     public void execute() throws MojoExecutionException, MojoFailureException {
-        prepareComponent(getLog(), project, projectHelper, componentOutDir, buildContext);
+        prepareComponent(getLog(), project, projectHelper, buildDir, componentOutDir, buildContext);
     }
 
-    public static void prepareComponent(Log log, MavenProject project, MavenProjectHelper projectHelper, File componentOutDir, BuildContext buildContext) throws MojoExecutionException {
+    public static void prepareComponent(Log log, MavenProject project, MavenProjectHelper projectHelper, File buildDir, File componentOutDir, BuildContext buildContext) throws MojoExecutionException {
 
         File camelMetaDir = new File(componentOutDir, "META-INF/services/org/apache/camel/");
 
@@ -95,6 +107,8 @@ public class PackageComponentMojo extends AbstractMojo {
         StringBuilder buffer = new StringBuilder();
         int count = 0;
 
+        Map<String, String> components = new LinkedHashMap<>();
+
         File f = new File(project.getBasedir(), "target/classes");
         f = new File(f, "META-INF/services/org/apache/camel/component");
         if (f.exists() && f.isDirectory()) {
@@ -113,10 +127,27 @@ public class PackageComponentMojo extends AbstractMojo {
                         }
                         buffer.append(name);
                     }
+
+                    // grab the java class name for the discovered component
+                    try {
+                        Properties prop = new Properties();
+                        prop.load(new FileInputStream(file));
+
+                        String javaType = prop.getProperty("class");
+
+                        components.put(name, javaType);
+                        log.debug("Discovered component: " + name + " with class: " + javaType);
+
+                    } catch (IOException e) {
+                        throw new MojoExecutionException("Failed to load file " + file + ". Reason: " + e, e);
+                    }
                 }
             }
         }
 
+        // we need to enrich the component json files with data we know have from this plugin
+        enrichComponentJsonFiles(log, project, buildDir, components);
+
         if (count > 0) {
             Properties properties = new Properties();
             String names = buffer.toString();
@@ -167,4 +198,27 @@ public class PackageComponentMojo extends AbstractMojo {
         }
     }
 
+    private static void enrichComponentJsonFiles(Log log, MavenProject project, File buildDir, Map<String, String> components) throws MojoExecutionException {
+        final Set<File> files = PackageHelper.findJsonFiles(buildDir, p -> p.isDirectory() || p.getName().endsWith(".json"));
+
+        for (File file : files) {
+            // name without .json
+            String shortName = file.getName().substring(0, file.getName().length() - 5);
+            String javaType = components.getOrDefault(shortName, "");
+            log.debug("Enriching file: " + file);
+
+            try {
+                String text = loadText(new FileInputStream(file));
+                text = text.replace("@@@JAVATYPE@@@", javaType);
+                text = text.replace("@@@DESCRIPTION@@@", project.getDescription());
+                text = text.replace("@@@GROUPID@@@", project.getGroupId());
+                text = text.replace("@@@ARTIFACTID@@@", project.getArtifactId());
+                text = text.replace("@@@VERSIONID@@@", project.getVersion());
+                writeText(file, text);
+            } catch (IOException e) {
+                throw new MojoExecutionException("Failed to update file " + file + ". Reason: " + e, e);
+            }
+        }
+    }
+
 }
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareComponentMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareComponentMojo.java
index c0454ef..e0642f3 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareComponentMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareComponentMojo.java
@@ -88,6 +88,13 @@ public class PrepareComponentMojo extends AbstractMojo {
     protected File schemaOutDir;
 
     /**
+     * The project build directory
+     *
+     */
+    @Parameter(defaultValue="${project.build.directory}")
+    protected File buildDir;
+
+    /**
      * Maven ProjectHelper.
      */
     @Component
@@ -108,7 +115,7 @@ public class PrepareComponentMojo extends AbstractMojo {
      * @throws org.apache.maven.plugin.MojoFailureException   something bad happened...
      */
     public void execute() throws MojoExecutionException, MojoFailureException {
-        prepareComponent(getLog(), project, projectHelper, componentOutDir, buildContext);
+        prepareComponent(getLog(), project, projectHelper, buildDir, componentOutDir, buildContext);
         prepareDataFormat(getLog(), project, projectHelper, dataFormatOutDir, schemaOutDir, buildContext);
         prepareLanguage(getLog(), project, projectHelper, languageOutDir, schemaOutDir, buildContext);
         prepareOthers(getLog(), project, projectHelper, otherOutDir, schemaOutDir, buildContext);


[camel] 01/02: CAMEL-13051: Remove @deprecated consumerClass attribute on @UriEndpoint.

Posted by da...@apache.org.
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.git

commit 93b40ad2c5f4660ee40897e32a2efb1104a1aab9
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Mon Jan 14 15:18:39 2019 +0100

    CAMEL-13051: Remove @deprecated consumerClass attribute on @UriEndpoint.
---
 .../main/java/org/apache/camel/component/dataset/DataSetEndpoint.java  | 2 +-
 .../main/java/org/apache/camel/component/direct/DirectEndpoint.java    | 2 +-
 .../java/org/apache/camel/component/directvm/DirectVmEndpoint.java     | 2 +-
 .../src/main/java/org/apache/camel/component/file/FileEndpoint.java    | 2 +-
 .../java/org/apache/camel/component/scheduler/SchedulerEndpoint.java   | 2 +-
 .../src/main/java/org/apache/camel/component/seda/SedaEndpoint.java    | 2 +-
 .../src/main/java/org/apache/camel/component/stub/StubEndpoint.java    | 2 +-
 .../src/main/java/org/apache/camel/component/timer/TimerEndpoint.java  | 2 +-
 camel-core/src/main/java/org/apache/camel/component/vm/VmEndpoint.java | 2 +-
 .../src/main/java/org/apache/camel/component/ahc/ws/WsEndpoint.java    | 2 +-
 .../src/main/java/org/apache/camel/component/amqp/AMQPEndpoint.java    | 2 +-
 .../src/main/java/org/apache/camel/component/apns/ApnsEndpoint.java    | 2 +-
 .../src/main/java/org/apache/camel/component/as2/AS2Endpoint.java      | 2 +-
 .../java/org/apache/camel/component/asterisk/AsteriskEndpoint.java     | 2 +-
 .../src/main/java/org/apache/camel/component/atmos/AtmosEndpoint.java  | 2 +-
 .../apache/camel/component/atmosphere/websocket/WebsocketEndpoint.java | 2 +-
 .../src/main/java/org/apache/camel/component/atom/AtomEndpoint.java    | 2 +-
 .../apache/camel/component/atomix/client/map/AtomixMapEndpoint.java    | 1 -
 .../component/atomix/client/messaging/AtomixMessagingEndpoint.java     | 1 -
 .../camel/component/atomix/client/queue/AtomixQueueEndpoint.java       | 1 -
 .../apache/camel/component/atomix/client/set/AtomixSetEndpoint.java    | 1 -
 .../camel/component/atomix/client/value/AtomixValueEndpoint.java       | 1 -
 .../src/main/java/org/apache/camel/component/avro/AvroEndpoint.java    | 2 +-
 .../org/apache/camel/component/aws/ddbstream/DdbStreamEndpoint.java    | 2 +-
 .../java/org/apache/camel/component/aws/kinesis/KinesisEndpoint.java   | 2 +-
 .../src/main/java/org/apache/camel/component/aws/s3/S3Endpoint.java    | 2 +-
 .../src/main/java/org/apache/camel/component/aws/sqs/SqsEndpoint.java  | 2 +-
 .../src/main/java/org/apache/camel/component/aws/swf/SWFEndpoint.java  | 2 +-
 .../org/apache/camel/component/azure/blob/BlobServiceEndpoint.java     | 1 -
 .../org/apache/camel/component/azure/queue/QueueServiceEndpoint.java   | 1 -
 .../java/org/apache/camel/component/beanstalk/BeanstalkEndpoint.java   | 2 +-
 .../src/main/java/org/apache/camel/component/box/BoxEndpoint.java      | 2 +-
 .../java/org/apache/camel/component/braintree/BraintreeEndpoint.java   | 2 +-
 .../java/org/apache/camel/component/cassandra/CassandraEndpoint.java   | 2 +-
 .../camel/component/chronicle/engine/ChronicleEngineEndpoint.java      | 1 -
 .../src/main/java/org/apache/camel/component/cmis/CMISEndpoint.java    | 2 +-
 .../camel-coap/src/main/java/org/apache/camel/coap/CoAPEndpoint.java   | 2 +-
 .../main/java/org/apache/camel/component/cometd/CometdEndpoint.java    | 2 +-
 .../src/main/java/org/apache/camel/component/corda/CordaEndpoint.java  | 2 +-
 .../java/org/apache/camel/component/couchbase/CouchbaseEndpoint.java   | 2 +-
 .../main/java/org/apache/camel/component/couchdb/CouchDbEndpoint.java  | 2 +-
 .../src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java      | 2 +-
 .../main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java  | 2 +-
 .../java/org/apache/camel/component/disruptor/DisruptorEndpoint.java   | 2 +-
 .../main/java/org/apache/camel/component/dropbox/DropboxEndpoint.java  | 2 +-
 .../main/java/org/apache/camel/component/ehcache/EhcacheEndpoint.java  | 2 +-
 .../src/main/java/org/apache/camel/component/elsql/ElsqlEndpoint.java  | 2 +-
 .../org/apache/camel/component/etcd/AbstractEtcdPollingEndpoint.java   | 2 +-
 .../java/org/apache/camel/component/eventadmin/EventAdminEndpoint.java | 2 +-
 .../java/org/apache/camel/component/facebook/FacebookEndpoint.java     | 2 +-
 .../src/main/java/org/apache/camel/component/fhir/FhirEndpoint.java    | 2 +-
 .../java/org/apache/camel/component/flatpack/FlatpackEndpoint.java     | 2 +-
 .../main/java/org/apache/camel/component/file/remote/FtpEndpoint.java  | 2 +-
 .../main/java/org/apache/camel/component/file/remote/FtpsEndpoint.java | 2 +-
 .../main/java/org/apache/camel/component/file/remote/SftpEndpoint.java | 2 +-
 .../apache/camel/component/google/calendar/GoogleCalendarEndpoint.java | 2 +-
 .../component/google/calendar/stream/GoogleCalendarStreamEndpoint.java | 1 -
 .../org/apache/camel/component/google/drive/GoogleDriveEndpoint.java   | 2 +-
 .../org/apache/camel/component/google/mail/GoogleMailEndpoint.java     | 3 +--
 .../camel/component/google/mail/stream/GoogleMailStreamEndpoint.java   | 1 -
 .../org/apache/camel/component/google/sheets/GoogleSheetsEndpoint.java | 2 +-
 .../component/google/sheets/stream/GoogleSheetsStreamEndpoint.java     | 1 -
 .../src/main/java/org/apache/camel/component/gora/GoraEndpoint.java    | 2 +-
 .../apache/camel/component/guava/eventbus/GuavaEventBusEndpoint.java   | 2 +-
 .../camel/component/hazelcast/instance/HazelcastInstanceEndpoint.java  | 2 +-
 .../src/main/java/org/apache/camel/component/hbase/HBaseEndpoint.java  | 2 +-
 .../src/main/java/org/apache/camel/component/hdfs2/HdfsEndpoint.java   | 2 +-
 .../main/java/org/apache/camel/component/hipchat/HipchatEndpoint.java  | 2 +-
 .../org/apache/camel/component/iec60870/client/ClientEndpoint.java     | 2 +-
 .../org/apache/camel/component/iec60870/server/ServerEndpoint.java     | 2 +-
 .../org/apache/camel/component/ignite/cache/IgniteCacheEndpoint.java   | 3 +--
 .../org/apache/camel/component/ignite/events/IgniteEventsEndpoint.java | 2 +-
 .../camel/component/ignite/messaging/IgniteMessagingEndpoint.java      | 3 +--
 .../java/org/apache/camel/component/infinispan/InfinispanEndpoint.java | 2 +-
 .../src/main/java/org/apache/camel/component/irc/IrcEndpoint.java      | 1 -
 .../main/java/org/apache/camel/component/ironmq/IronMQEndpoint.java    | 2 +-
 .../main/java/org/apache/camel/component/jcache/JCacheEndpoint.java    | 2 +-
 .../main/java/org/apache/camel/component/jclouds/JcloudsEndpoint.java  | 2 +-
 .../src/main/java/org/apache/camel/component/jcr/JcrEndpoint.java      | 2 +-
 .../java/org/apache/camel/component/jetty9/JettyHttpEndpoint9.java     | 2 +-
 .../org/apache/camel/component/jgroups/raft/JGroupsRaftEndpoint.java   | 2 +-
 .../main/java/org/apache/camel/component/jgroups/JGroupsEndpoint.java  | 2 +-
 .../src/main/java/org/apache/camel/component/jms/JmsEndpoint.java      | 2 +-
 .../src/main/java/org/apache/camel/component/jmx/JMXEndpoint.java      | 2 +-
 .../src/main/java/org/apache/camel/component/jpa/JpaEndpoint.java      | 2 +-
 .../src/main/java/org/apache/camel/component/jt400/Jt400Endpoint.java  | 2 +-
 .../src/main/java/org/apache/camel/component/kafka/KafkaEndpoint.java  | 2 +-
 .../kubernetes/deployments/KubernetesDeploymentsEndpoint.java          | 2 +-
 .../apache/camel/component/kubernetes/hpa/KubernetesHPAEndpoint.java   | 2 +-
 .../component/kubernetes/namespaces/KubernetesNamespacesEndpoint.java  | 2 +-
 .../camel/component/kubernetes/nodes/KubernetesNodesEndpoint.java      | 2 +-
 .../apache/camel/component/kubernetes/pods/KubernetesPodsEndpoint.java | 2 +-
 .../KubernetesReplicationControllersEndpoint.java                      | 2 +-
 .../component/kubernetes/services/KubernetesServicesEndpoint.java      | 2 +-
 .../java/org/apache/camel/component/linkedin/LinkedInEndpoint.java     | 2 +-
 .../java/org/apache/camel/component/lumberjack/LumberjackEndpoint.java | 2 +-
 .../src/main/java/org/apache/camel/component/mail/MailEndpoint.java    | 2 +-
 .../main/java/org/apache/camel/component/master/MasterEndpoint.java    | 1 -
 .../org/apache/camel/component/milo/client/MiloClientEndpoint.java     | 2 +-
 .../org/apache/camel/component/milo/server/MiloServerEndpoint.java     | 2 +-
 .../src/main/java/org/apache/camel/component/mina2/Mina2Endpoint.java  | 2 +-
 .../src/main/java/org/apache/camel/component/mllp/MllpEndpoint.java    | 2 +-
 .../main/java/org/apache/camel/component/mongodb3/MongoDbEndpoint.java | 2 +-
 .../src/main/java/org/apache/camel/component/mqtt/MQTTEndpoint.java    | 2 +-
 .../main/java/org/apache/camel/component/mybatis/MyBatisEndpoint.java  | 2 +-
 .../src/main/java/org/apache/camel/component/nats/NatsEndpoint.java    | 2 +-
 .../java/org/apache/camel/component/netty4/http/NettyHttpEndpoint.java | 2 +-
 .../src/main/java/org/apache/camel/component/netty4/NettyEndpoint.java | 2 +-
 .../src/main/java/org/apache/camel/component/nsq/NsqEndpoint.java      | 2 +-
 .../main/java/org/apache/camel/component/olingo2/Olingo2Endpoint.java  | 2 +-
 .../main/java/org/apache/camel/component/olingo4/Olingo4Endpoint.java  | 2 +-
 .../src/main/java/org/apache/camel/component/paho/PahoEndpoint.java    | 2 +-
 .../java/org/apache/camel/component/paxlogging/PaxLoggingEndpoint.java | 2 +-
 .../main/java/org/apache/camel/component/pgevent/PgEventEndpoint.java  | 2 +-
 .../main/java/org/apache/camel/component/pubnub/PubNubEndpoint.java    | 2 +-
 .../main/java/org/apache/camel/component/quartz2/QuartzEndpoint.java   | 2 +-
 .../java/org/apache/camel/component/quickfixj/QuickfixjEndpoint.java   | 2 +-
 .../java/org/apache/camel/component/rabbitmq/RabbitMQEndpoint.java     | 2 +-
 .../camel/component/reactive/streams/ReactiveStreamsEndpoint.java      | 2 +-
 .../main/java/org/apache/camel/component/restlet/RestletEndpoint.java  | 2 +-
 .../src/main/java/org/apache/camel/component/rmi/RmiEndpoint.java      | 2 +-
 .../src/main/java/org/apache/camel/component/rss/RssEndpoint.java      | 2 +-
 .../java/org/apache/camel/component/salesforce/SalesforceEndpoint.java | 2 +-
 .../main/java/org/apache/camel/component/service/ServiceEndpoint.java  | 1 -
 .../main/java/org/apache/camel/component/servlet/ServletEndpoint.java  | 2 +-
 .../src/main/java/org/apache/camel/component/sjms/SjmsEndpoint.java    | 2 +-
 .../java/org/apache/camel/component/sjms/batch/SjmsBatchEndpoint.java  | 2 +-
 .../src/main/java/org/apache/camel/component/sjms2/Sjms2Endpoint.java  | 2 +-
 .../src/main/java/org/apache/camel/component/smpp/SmppEndpoint.java    | 2 +-
 .../main/java/org/apache/camel/component/sparkrest/SparkEndpoint.java  | 2 +-
 .../main/java/org/apache/camel/component/splunk/SplunkEndpoint.java    | 2 +-
 .../camel/component/spring/integration/SpringIntegrationEndpoint.java  | 2 +-
 .../src/main/java/org/apache/camel/component/redis/RedisEndpoint.java  | 2 +-
 .../org/apache/camel/component/spring/ws/SpringWebserviceEndpoint.java | 2 +-
 .../src/main/java/org/apache/camel/component/event/EventEndpoint.java  | 2 +-
 .../src/main/java/org/apache/camel/component/sql/SqlEndpoint.java      | 2 +-
 .../src/main/java/org/apache/camel/component/ssh/SshEndpoint.java      | 2 +-
 .../src/main/java/org/apache/camel/component/stomp/StompEndpoint.java  | 2 +-
 .../main/java/org/apache/camel/component/stream/StreamEndpoint.java    | 2 +-
 .../java/org/apache/camel/component/telegram/TelegramEndpoint.java     | 2 +-
 .../main/java/org/apache/camel/component/twilio/TwilioEndpoint.java    | 2 +-
 .../component/twitter/directmessage/TwitterDirectMessageEndpoint.java  | 2 +-
 .../apache/camel/component/twitter/search/TwitterSearchEndpoint.java   | 2 +-
 .../camel/component/twitter/streaming/TwitterStreamingEndpoint.java    | 2 +-
 .../camel/component/twitter/timeline/TwitterTimelineEndpoint.java      | 2 +-
 .../java/org/apache/camel/component/undertow/UndertowEndpoint.java     | 2 +-
 .../src/main/java/org/apache/camel/component/vertx/VertxEndpoint.java  | 2 +-
 .../main/java/org/apache/camel/component/weather/WeatherEndpoint.java  | 2 +-
 .../src/main/java/org/apache/camel/component/web3j/Web3jEndpoint.java  | 2 +-
 .../main/java/org/apache/camel/websocket/jsr356/JSR356Endpoint.java    | 2 +-
 .../java/org/apache/camel/component/websocket/WebsocketEndpoint.java   | 2 +-
 .../src/main/java/org/apache/camel/component/xmpp/XmppEndpoint.java    | 2 +-
 .../main/java/org/apache/camel/component/yammer/YammerEndpoint.java    | 2 +-
 .../main/java/org/apache/camel/component/zendesk/ZendeskEndpoint.java  | 2 +-
 .../org/apache/camel/component/zookeepermaster/MasterEndpoint.java     | 2 +-
 .../java/org/apache/camel/component/zookeeper/ZooKeeperEndpoint.java   | 2 +-
 156 files changed, 142 insertions(+), 159 deletions(-)

diff --git a/camel-core/src/main/java/org/apache/camel/component/dataset/DataSetEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/dataset/DataSetEndpoint.java
index 5ab31ed..1ead7e5 100644
--- a/camel-core/src/main/java/org/apache/camel/component/dataset/DataSetEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/dataset/DataSetEndpoint.java
@@ -45,7 +45,7 @@ import org.slf4j.LoggerFactory;
  * Camel will use the throughput logger when sending dataset's.
  */
 @UriEndpoint(firstVersion = "1.3.0", scheme = "dataset", title = "Dataset", syntax = "dataset:name",
-    consumerClass = DataSetConsumer.class, label = "core,testing", lenientProperties = true)
+    label = "core,testing", lenientProperties = true)
 public class DataSetEndpoint extends MockEndpoint implements Service {
     private final transient Logger log;
     private final AtomicInteger receivedCounter = new AtomicInteger();
diff --git a/camel-core/src/main/java/org/apache/camel/component/direct/DirectEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/direct/DirectEndpoint.java
index eab335d..a72fcb8 100644
--- a/camel-core/src/main/java/org/apache/camel/component/direct/DirectEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/direct/DirectEndpoint.java
@@ -38,7 +38,7 @@ import org.apache.camel.util.StringHelper;
  *
  * This endpoint can be used to connect existing routes in the same CamelContext.
  */
-@UriEndpoint(firstVersion = "1.0.0", scheme = "direct", title = "Direct", syntax = "direct:name", consumerClass = DirectConsumer.class, label = "core,endpoint")
+@UriEndpoint(firstVersion = "1.0.0", scheme = "direct", title = "Direct", syntax = "direct:name", label = "core,endpoint")
 public class DirectEndpoint extends DefaultEndpoint {
 
     private final Map<String, DirectConsumer> consumers;
diff --git a/camel-core/src/main/java/org/apache/camel/component/directvm/DirectVmEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/directvm/DirectVmEndpoint.java
index dc235ef..767f844 100644
--- a/camel-core/src/main/java/org/apache/camel/component/directvm/DirectVmEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/directvm/DirectVmEndpoint.java
@@ -33,7 +33,7 @@ import org.apache.camel.support.DefaultEndpoint;
  *
  * This endpoint can be used to connect existing routes in the same JVM between different CamelContexts.
  */
-@UriEndpoint(firstVersion = "2.10.0", scheme = "direct-vm", title = "Direct VM", syntax = "direct-vm:name", consumerClass = DirectConsumer.class, label = "core,endpoint")
+@UriEndpoint(firstVersion = "2.10.0", scheme = "direct-vm", title = "Direct VM", syntax = "direct-vm:name", label = "core,endpoint")
 public class DirectVmEndpoint extends DefaultEndpoint implements AsyncEndpoint {
 
     @UriPath(description = "Name of direct-vm endpoint") @Metadata(required = true)
diff --git a/camel-core/src/main/java/org/apache/camel/component/file/FileEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/file/FileEndpoint.java
index b9f6000..e525f8d 100644
--- a/camel-core/src/main/java/org/apache/camel/component/file/FileEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/file/FileEndpoint.java
@@ -41,7 +41,7 @@ import org.apache.camel.util.ObjectHelper;
 /**
  * The file component is used for reading or writing files.
  */
-@UriEndpoint(firstVersion = "1.0.0", scheme = "file", title = "File", syntax = "file:directoryName", consumerClass = FileConsumer.class, label = "core,file")
+@UriEndpoint(firstVersion = "1.0.0", scheme = "file", title = "File", syntax = "file:directoryName", label = "core,file")
 public class FileEndpoint extends GenericFileEndpoint<File> {
 
     private static final Integer CHMOD_WRITE_MASK = 02;
diff --git a/camel-core/src/main/java/org/apache/camel/component/scheduler/SchedulerEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/scheduler/SchedulerEndpoint.java
index 9976bd5..bc3d5e8 100644
--- a/camel-core/src/main/java/org/apache/camel/component/scheduler/SchedulerEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/scheduler/SchedulerEndpoint.java
@@ -34,7 +34,7 @@ import org.apache.camel.support.ScheduledPollEndpoint;
  * Also this component uses JDK ScheduledExecutorService. Where as the timer uses a JDK Timer.
  */
 @UriEndpoint(firstVersion = "2.15.0", scheme = "scheduler", title = "Scheduler", syntax = "scheduler:name",
-    consumerOnly = true, consumerClass = SchedulerConsumer.class, label = "core,scheduling")
+    consumerOnly = true, label = "core,scheduling")
 public class SchedulerEndpoint extends ScheduledPollEndpoint {
 
     @UriPath @Metadata(required = true)
diff --git a/camel-core/src/main/java/org/apache/camel/component/seda/SedaEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/seda/SedaEndpoint.java
index a4cd1c1..f580227 100644
--- a/camel-core/src/main/java/org/apache/camel/component/seda/SedaEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/seda/SedaEndpoint.java
@@ -51,7 +51,7 @@ import org.apache.camel.util.URISupport;
  * The seda component provides asynchronous call to another endpoint from any CamelContext in the same JVM.
  */
 @ManagedResource(description = "Managed SedaEndpoint")
-@UriEndpoint(firstVersion = "1.1.0", scheme = "seda", title = "SEDA", syntax = "seda:name", consumerClass = SedaConsumer.class, label = "core,endpoint")
+@UriEndpoint(firstVersion = "1.1.0", scheme = "seda", title = "SEDA", syntax = "seda:name", label = "core,endpoint")
 public class SedaEndpoint extends DefaultEndpoint implements AsyncEndpoint, BrowsableEndpoint, MultipleConsumersSupport {
 
     private final Set<SedaProducer> producers = new CopyOnWriteArraySet<>();
diff --git a/camel-core/src/main/java/org/apache/camel/component/stub/StubEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/stub/StubEndpoint.java
index beb6957..f2c4cde 100644
--- a/camel-core/src/main/java/org/apache/camel/component/stub/StubEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/stub/StubEndpoint.java
@@ -37,7 +37,7 @@ import org.apache.camel.spi.UriEndpoint;
  * query arguments will usually fail. Stub won't though, as it basically ignores all query parameters
  * to let you quickly stub out one or more endpoints in your route temporarily.
  */
-@UriEndpoint(firstVersion = "2.10.0", scheme = "stub", title = "Stub", syntax = "stub:name", consumerClass = VmConsumer.class, label = "core,testing")
+@UriEndpoint(firstVersion = "2.10.0", scheme = "stub", title = "Stub", syntax = "stub:name", label = "core,testing")
 public class StubEndpoint extends VmEndpoint {
 
     public StubEndpoint(String endpointUri, Component component, BlockingQueue<Exchange> queue) {
diff --git a/camel-core/src/main/java/org/apache/camel/component/timer/TimerEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/timer/TimerEndpoint.java
index 31f2aa9..25db5d2 100644
--- a/camel-core/src/main/java/org/apache/camel/component/timer/TimerEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/timer/TimerEndpoint.java
@@ -39,7 +39,7 @@ import org.apache.camel.support.DefaultEndpoint;
  * This component is similar to the scheduler component, but has much less functionality.
  */
 @ManagedResource(description = "Managed TimerEndpoint")
-@UriEndpoint(firstVersion = "1.0.0", scheme = "timer", title = "Timer", syntax = "timer:timerName", consumerOnly = true, consumerClass = TimerConsumer.class, label = "core,scheduling")
+@UriEndpoint(firstVersion = "1.0.0", scheme = "timer", title = "Timer", syntax = "timer:timerName", consumerOnly = true, label = "core,scheduling")
 public class TimerEndpoint extends DefaultEndpoint implements MultipleConsumersSupport {
     @UriPath @Metadata(required = true)
     private String timerName;
diff --git a/camel-core/src/main/java/org/apache/camel/component/vm/VmEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/vm/VmEndpoint.java
index b7fc84f..9f3216d 100644
--- a/camel-core/src/main/java/org/apache/camel/component/vm/VmEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/vm/VmEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.UriEndpoint;
 /**
  * The vm component provides asynchronous call to another endpoint from the same CamelContext.
  */
-@UriEndpoint(firstVersion = "1.1.0", scheme = "vm", title = "VM", syntax = "vm:name", consumerClass = VmConsumer.class, label = "core,endpoint")
+@UriEndpoint(firstVersion = "1.1.0", scheme = "vm", title = "VM", syntax = "vm:name", label = "core,endpoint")
 public class VmEndpoint extends SedaEndpoint {
 
     public VmEndpoint(String endpointUri, Component component, BlockingQueue<Exchange> queue) {
diff --git a/components/camel-ahc-ws/src/main/java/org/apache/camel/component/ahc/ws/WsEndpoint.java b/components/camel-ahc-ws/src/main/java/org/apache/camel/component/ahc/ws/WsEndpoint.java
index 5ddf90c..cb3f6c7 100644
--- a/components/camel-ahc-ws/src/main/java/org/apache/camel/component/ahc/ws/WsEndpoint.java
+++ b/components/camel-ahc-ws/src/main/java/org/apache/camel/component/ahc/ws/WsEndpoint.java
@@ -40,7 +40,7 @@ import org.slf4j.LoggerFactory;
  * To exchange data with external Websocket servers using <a href="http://github.com/sonatype/async-http-client">Async Http Client</a>.
  */
 @UriEndpoint(firstVersion = "2.14.0", scheme = "ahc-ws,ahc-wss", extendsScheme = "ahc,ahc", title = "AHC Websocket,AHC Secure Websocket",
-        syntax = "ahc-ws:httpUri", consumerClass = WsConsumer.class, label = "websocket")
+        syntax = "ahc-ws:httpUri", label = "websocket")
 public class WsEndpoint extends AhcEndpoint {
 
     private final Set<WsConsumer> consumers = new HashSet<>();
diff --git a/components/camel-amqp/src/main/java/org/apache/camel/component/amqp/AMQPEndpoint.java b/components/camel-amqp/src/main/java/org/apache/camel/component/amqp/AMQPEndpoint.java
index 511d6c5..ed97fdf 100644
--- a/components/camel-amqp/src/main/java/org/apache/camel/component/amqp/AMQPEndpoint.java
+++ b/components/camel-amqp/src/main/java/org/apache/camel/component/amqp/AMQPEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.UriEndpoint;
  * performing the AMQP connectivity.
  */
 @UriEndpoint(firstVersion = "1.2.0", scheme = "amqp", extendsScheme = "jms", title = "AMQP",
-        syntax = "amqp:destinationType:destinationName", consumerClass = JmsConsumer.class, label = "messaging")
+        syntax = "amqp:destinationType:destinationName", label = "messaging")
 public class AMQPEndpoint extends JmsEndpoint implements AsyncEndpoint {
 
 }
diff --git a/components/camel-apns/src/main/java/org/apache/camel/component/apns/ApnsEndpoint.java b/components/camel-apns/src/main/java/org/apache/camel/component/apns/ApnsEndpoint.java
index 201c319..261388e 100644
--- a/components/camel-apns/src/main/java/org/apache/camel/component/apns/ApnsEndpoint.java
+++ b/components/camel-apns/src/main/java/org/apache/camel/component/apns/ApnsEndpoint.java
@@ -32,7 +32,7 @@ import org.apache.camel.support.ScheduledPollEndpoint;
 /**
  * For sending notifications to Apple iOS devices.
  */
-@UriEndpoint(firstVersion = "2.8.0", scheme = "apns", title = "APNS", syntax = "apns:name", consumerClass = ApnsConsumer.class, label = "eventbus,mobile")
+@UriEndpoint(firstVersion = "2.8.0", scheme = "apns", title = "APNS", syntax = "apns:name", label = "eventbus,mobile")
 public class ApnsEndpoint extends ScheduledPollEndpoint {
 
     private final CopyOnWriteArraySet<DefaultConsumer> consumers = new CopyOnWriteArraySet<>();
diff --git a/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/AS2Endpoint.java b/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/AS2Endpoint.java
index c64cf7d..c7c06b9 100644
--- a/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/AS2Endpoint.java
+++ b/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/AS2Endpoint.java
@@ -42,7 +42,7 @@ import org.apache.camel.support.component.ApiMethodPropertiesHelper;
 /**
  * Component used for transferring data secure and reliable over the internet using the AS2 protocol.
  */
-@UriEndpoint(scheme = "as2", firstVersion = "2.22.0", title = "AS2", syntax = "as2:apiName", consumerClass = AS2Consumer.class, label = "AS2")
+@UriEndpoint(scheme = "as2", firstVersion = "2.22.0", title = "AS2", syntax = "as2:apiName", label = "AS2")
 public class AS2Endpoint extends AbstractApiEndpoint<AS2ApiName, AS2Configuration> {
 
     @UriParam
diff --git a/components/camel-asterisk/src/main/java/org/apache/camel/component/asterisk/AsteriskEndpoint.java b/components/camel-asterisk/src/main/java/org/apache/camel/component/asterisk/AsteriskEndpoint.java
index c663399..b90a3d4 100644
--- a/components/camel-asterisk/src/main/java/org/apache/camel/component/asterisk/AsteriskEndpoint.java
+++ b/components/camel-asterisk/src/main/java/org/apache/camel/component/asterisk/AsteriskEndpoint.java
@@ -29,7 +29,7 @@ import org.apache.camel.util.ObjectHelper;
 /**
  * The asterisk component is used to interact with Asterisk PBX Server.
  */
-@UriEndpoint(firstVersion = "2.18.0", scheme = "asterisk", title = "Asterisk", syntax = "asterisk:name", consumerClass = AsteriskConsumer.class, label = "voip")
+@UriEndpoint(firstVersion = "2.18.0", scheme = "asterisk", title = "Asterisk", syntax = "asterisk:name", label = "voip")
 public class AsteriskEndpoint extends DefaultEndpoint {
     @UriPath(description = "Name of component")
     @Metadata(required = true)
diff --git a/components/camel-atmos/src/main/java/org/apache/camel/component/atmos/AtmosEndpoint.java b/components/camel-atmos/src/main/java/org/apache/camel/component/atmos/AtmosEndpoint.java
index aa5dc52..cd96c52 100644
--- a/components/camel-atmos/src/main/java/org/apache/camel/component/atmos/AtmosEndpoint.java
+++ b/components/camel-atmos/src/main/java/org/apache/camel/component/atmos/AtmosEndpoint.java
@@ -36,7 +36,7 @@ import static org.apache.camel.component.atmos.util.AtmosConstants.POLL_CONSUMER
 /**
  * The atmos component is used for integrating with EMC's Atomos Storage.
  */
-@UriEndpoint(firstVersion = "2.15.0", scheme = "atmos", title = "Atmos", syntax = "atmos:name/operation", consumerClass = AtmosScheduledPollConsumer.class, label = "file,cloud")
+@UriEndpoint(firstVersion = "2.15.0", scheme = "atmos", title = "Atmos", syntax = "atmos:name/operation", label = "file,cloud")
 public class AtmosEndpoint extends DefaultEndpoint {
 
     @UriParam
diff --git a/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketEndpoint.java b/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketEndpoint.java
index ab44c38..105cee1 100644
--- a/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketEndpoint.java
+++ b/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketEndpoint.java
@@ -32,7 +32,7 @@ import org.apache.camel.spi.UriPath;
  * To exchange data with external Websocket clients using Atmosphere.
  */
 @UriEndpoint(firstVersion = "2.14.0", scheme = "atmosphere-websocket", extendsScheme = "servlet", title = "Atmosphere Websocket",
-        syntax = "atmosphere-websocket:servicePath", consumerClass = WebsocketConsumer.class, label = "websocket",
+        syntax = "atmosphere-websocket:servicePath", label = "websocket",
         excludeProperties = "httpUri,contextPath,authMethod,authMethodPriority,authUsername,authPassword,authDomain,authHost"
                 + "proxyAuthScheme,proxyAuthMethod,proxyAuthUsername,proxyAuthPassword,proxyAuthHost,proxyAuthPort,proxyAuthDomain")
 public class WebsocketEndpoint extends ServletEndpoint {
diff --git a/components/camel-atom/src/main/java/org/apache/camel/component/atom/AtomEndpoint.java b/components/camel-atom/src/main/java/org/apache/camel/component/atom/AtomEndpoint.java
index 5674f91..c7b9c73 100644
--- a/components/camel-atom/src/main/java/org/apache/camel/component/atom/AtomEndpoint.java
+++ b/components/camel-atom/src/main/java/org/apache/camel/component/atom/AtomEndpoint.java
@@ -30,7 +30,7 @@ import org.apache.camel.spi.UriEndpoint;
  * The atom component is used for consuming Atom RSS feeds.
  */
 @UriEndpoint(firstVersion = "1.2.0", scheme = "atom", title = "Atom", syntax = "atom:feedUri", consumerOnly = true,
-        consumerClass = FeedPollingConsumer.class, label = "rss", lenientProperties = true)
+        label = "rss", lenientProperties = true)
 public class AtomEndpoint extends FeedEndpoint {
 
     public AtomEndpoint() {
diff --git a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/map/AtomixMapEndpoint.java b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/map/AtomixMapEndpoint.java
index 7d8f198..b3d05c0 100644
--- a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/map/AtomixMapEndpoint.java
+++ b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/map/AtomixMapEndpoint.java
@@ -32,7 +32,6 @@ import org.apache.camel.spi.UriParam;
     scheme = "atomix-map",
     title = "Atomix Map",
     syntax = "atomix-map:resourceName",
-    consumerClass = AtomixMapConsumer.class,
     label = "clustering")
 class AtomixMapEndpoint extends AbstractAtomixClientEndpoint<AtomixMapComponent, AtomixMapConfiguration> {
     @UriParam
diff --git a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/messaging/AtomixMessagingEndpoint.java b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/messaging/AtomixMessagingEndpoint.java
index d218d90..4997622 100644
--- a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/messaging/AtomixMessagingEndpoint.java
+++ b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/messaging/AtomixMessagingEndpoint.java
@@ -32,7 +32,6 @@ import org.apache.camel.spi.UriParam;
     scheme = "atomix-messaging",
     title = "Atomix Messaging",
     syntax = "atomix-messaging:resourceName",
-    consumerClass = AtomixMessagingConsumer.class,
     label = "clustering")
 final class AtomixMessagingEndpoint extends AbstractAtomixClientEndpoint<AtomixMessagingComponent, AtomixMessagingConfiguration> {
     @UriParam
diff --git a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/queue/AtomixQueueEndpoint.java b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/queue/AtomixQueueEndpoint.java
index a3c053e..51adb43 100644
--- a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/queue/AtomixQueueEndpoint.java
+++ b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/queue/AtomixQueueEndpoint.java
@@ -32,7 +32,6 @@ import org.apache.camel.spi.UriParam;
     scheme = "atomix-queue",
     title = "Atomix Queue",
     syntax = "atomix-queue:resourceName",
-    consumerClass = AtomixQueueConsumer.class,
     label = "clustering")
 final class AtomixQueueEndpoint extends AbstractAtomixClientEndpoint<AtomixQueueComponent, AtomixQueueConfiguration> {
     @UriParam
diff --git a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/set/AtomixSetEndpoint.java b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/set/AtomixSetEndpoint.java
index 93d5372..fb5599e 100644
--- a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/set/AtomixSetEndpoint.java
+++ b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/set/AtomixSetEndpoint.java
@@ -32,7 +32,6 @@ import org.apache.camel.spi.UriParam;
     scheme = "atomix-set",
     title = "Atomix Set",
     syntax = "atomix-set:resourceName",
-    consumerClass = AtomixSetConsumer.class,
     label = "clustering")
 final class AtomixSetEndpoint extends AbstractAtomixClientEndpoint<AtomixSetComponent, AtomixSetConfiguration> {
     @UriParam
diff --git a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/value/AtomixValueEndpoint.java b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/value/AtomixValueEndpoint.java
index 12e8758..92f9e8e 100644
--- a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/value/AtomixValueEndpoint.java
+++ b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/value/AtomixValueEndpoint.java
@@ -32,7 +32,6 @@ import org.apache.camel.spi.UriParam;
     scheme = "atomix-value",
     title = "Atomix Value",
     syntax = "atomix-value:resourceName",
-    consumerClass = AtomixValueConsumer.class,
     label = "clustering")
 final class AtomixValueEndpoint extends AbstractAtomixClientEndpoint<AtomixValueComponent, AtomixValueConfiguration> {
     @UriParam
diff --git a/components/camel-avro/src/main/java/org/apache/camel/component/avro/AvroEndpoint.java b/components/camel-avro/src/main/java/org/apache/camel/component/avro/AvroEndpoint.java
index 840c046..f7ddd07 100644
--- a/components/camel-avro/src/main/java/org/apache/camel/component/avro/AvroEndpoint.java
+++ b/components/camel-avro/src/main/java/org/apache/camel/component/avro/AvroEndpoint.java
@@ -31,7 +31,7 @@ import org.apache.camel.spi.UriParam;
 /**
  * Working with Apache Avro for data serialization.
  */
-@UriEndpoint(firstVersion = "2.10.0", scheme = "avro", title = "Avro", syntax = "avro:transport:host:port/messageName", consumerClass = AvroConsumer.class, label = "messaging,transformation")
+@UriEndpoint(firstVersion = "2.10.0", scheme = "avro", title = "Avro", syntax = "avro:transport:host:port/messageName", label = "messaging,transformation")
 public abstract class AvroEndpoint extends DefaultEndpoint implements AsyncEndpoint {
 
     @UriParam
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddbstream/DdbStreamEndpoint.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddbstream/DdbStreamEndpoint.java
index 9dec33c..cc7500a 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddbstream/DdbStreamEndpoint.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddbstream/DdbStreamEndpoint.java
@@ -39,7 +39,7 @@ import org.apache.camel.util.ObjectHelper;
  */
 @UriEndpoint(firstVersion = "2.17.0", scheme = "aws-ddbstream", title = "AWS DynamoDB Streams",
         consumerOnly = true, syntax = "aws-ddbstream:tableName",
-        consumerClass = DdbStreamConsumer.class, label = "cloud,messaging,streams")
+        label = "cloud,messaging,streams")
 public class DdbStreamEndpoint extends ScheduledPollEndpoint {
 
     @UriParam
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/kinesis/KinesisEndpoint.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/kinesis/KinesisEndpoint.java
index 918693b..223aa32 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/kinesis/KinesisEndpoint.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/kinesis/KinesisEndpoint.java
@@ -39,7 +39,7 @@ import org.apache.camel.util.ObjectHelper;
  * The aws-kinesis component is for consuming and producing records from Amazon
  * Kinesis Streams.
  */
-@UriEndpoint(firstVersion = "2.17.0", scheme = "aws-kinesis", title = "AWS Kinesis", syntax = "aws-kinesis:streamName", consumerClass = KinesisConsumer.class, label = "cloud,messaging")
+@UriEndpoint(firstVersion = "2.17.0", scheme = "aws-kinesis", title = "AWS Kinesis", syntax = "aws-kinesis:streamName", label = "cloud,messaging")
 public class KinesisEndpoint extends ScheduledPollEndpoint {
 
     @UriParam
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Endpoint.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Endpoint.java
index 96e982a..b86ae1a 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Endpoint.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Endpoint.java
@@ -45,7 +45,7 @@ import org.slf4j.LoggerFactory;
  * The aws-s3 component is used for storing and retrieving objecct from Amazon
  * S3 Storage Service.
  */
-@UriEndpoint(firstVersion = "2.8.0", scheme = "aws-s3", title = "AWS S3 Storage Service", syntax = "aws-s3:bucketNameOrArn", consumerClass = S3Consumer.class, label = "cloud,file")
+@UriEndpoint(firstVersion = "2.8.0", scheme = "aws-s3", title = "AWS S3 Storage Service", syntax = "aws-s3:bucketNameOrArn", label = "cloud,file")
 public class S3Endpoint extends ScheduledPollEndpoint {
 
     private static final Logger LOG = LoggerFactory.getLogger(S3Endpoint.class);
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsEndpoint.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsEndpoint.java
index 743c072..a686c96 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsEndpoint.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsEndpoint.java
@@ -57,7 +57,7 @@ import org.apache.camel.util.ObjectHelper;
  * The aws-sqs component is used for sending and receiving messages to Amazon's SQS service.
  */
 @UriEndpoint(firstVersion = "2.6.0", scheme = "aws-sqs", title = "AWS Simple Queue Service", syntax = "aws-sqs:queueNameOrArn",
-    consumerClass = SqsConsumer.class, label = "cloud,messaging")
+    label = "cloud,messaging")
 public class SqsEndpoint extends ScheduledPollEndpoint implements HeaderFilterStrategyAware {
 
     private AmazonSQS client;
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/swf/SWFEndpoint.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/swf/SWFEndpoint.java
index a8016a0..d46edd8 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/swf/SWFEndpoint.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/swf/SWFEndpoint.java
@@ -42,7 +42,7 @@ import org.apache.camel.util.ObjectHelper;
  * The aws-swf component is used for managing workflows from Amazon Simple Workflow.
  */
 @UriEndpoint(firstVersion = "2.13.0", scheme = "aws-swf", title = "AWS Simple Workflow", syntax = "aws-swf:type",
-    consumerClass = SWFWorkflowConsumer.class, label = "cloud,workflow")
+    label = "cloud,workflow")
 public class SWFEndpoint extends DefaultEndpoint {
 
     private AmazonSimpleWorkflowClient amazonSWClient;
diff --git a/components/camel-azure/src/main/java/org/apache/camel/component/azure/blob/BlobServiceEndpoint.java b/components/camel-azure/src/main/java/org/apache/camel/component/azure/blob/BlobServiceEndpoint.java
index a1cdfdd..4452d19 100644
--- a/components/camel-azure/src/main/java/org/apache/camel/component/azure/blob/BlobServiceEndpoint.java
+++ b/components/camel-azure/src/main/java/org/apache/camel/component/azure/blob/BlobServiceEndpoint.java
@@ -33,7 +33,6 @@ import org.apache.camel.spi.UriPath;
              scheme = "azure-blob",
              title = "Azure Storage Blob Service", 
              syntax = "azure-blob:containerOrBlobUri", 
-             consumerClass = BlobServiceConsumer.class,
              label = "cloud,database,nosql")
 public class BlobServiceEndpoint extends DefaultEndpoint {
 
diff --git a/components/camel-azure/src/main/java/org/apache/camel/component/azure/queue/QueueServiceEndpoint.java b/components/camel-azure/src/main/java/org/apache/camel/component/azure/queue/QueueServiceEndpoint.java
index be6b4e3..c14f020 100644
--- a/components/camel-azure/src/main/java/org/apache/camel/component/azure/queue/QueueServiceEndpoint.java
+++ b/components/camel-azure/src/main/java/org/apache/camel/component/azure/queue/QueueServiceEndpoint.java
@@ -33,7 +33,6 @@ import org.apache.camel.spi.UriPath;
              scheme = "azure-queue",
              title = "Azure Storage Queue Service", 
              syntax = "azure-blob:containerAndQueueUri", 
-             consumerClass = QueueServiceConsumer.class,
              label = "cloud,queue,azure")
 public class QueueServiceEndpoint extends DefaultEndpoint {
 
diff --git a/components/camel-beanstalk/src/main/java/org/apache/camel/component/beanstalk/BeanstalkEndpoint.java b/components/camel-beanstalk/src/main/java/org/apache/camel/component/beanstalk/BeanstalkEndpoint.java
index 76950a8..de90689 100644
--- a/components/camel-beanstalk/src/main/java/org/apache/camel/component/beanstalk/BeanstalkEndpoint.java
+++ b/components/camel-beanstalk/src/main/java/org/apache/camel/component/beanstalk/BeanstalkEndpoint.java
@@ -37,7 +37,7 @@ import org.apache.camel.spi.UriPath;
 /**
  * The beanstalk component is used for job retrieval and post-processing of Beanstalk jobs.
  */
-@UriEndpoint(firstVersion = "2.15.0", scheme = "beanstalk", title = "Beanstalk", syntax = "beanstalk:connectionSettings", consumerClass = BeanstalkConsumer.class, label = "messaging")
+@UriEndpoint(firstVersion = "2.15.0", scheme = "beanstalk", title = "Beanstalk", syntax = "beanstalk:connectionSettings", label = "messaging")
 public class BeanstalkEndpoint extends ScheduledPollEndpoint implements AsyncEndpoint {
     final ConnectionSettings conn;
 
diff --git a/components/camel-box/camel-box-component/src/main/java/org/apache/camel/component/box/BoxEndpoint.java b/components/camel-box/camel-box-component/src/main/java/org/apache/camel/component/box/BoxEndpoint.java
index 407bae6..09dea04 100644
--- a/components/camel-box/camel-box-component/src/main/java/org/apache/camel/component/box/BoxEndpoint.java
+++ b/components/camel-box/camel-box-component/src/main/java/org/apache/camel/component/box/BoxEndpoint.java
@@ -47,7 +47,7 @@ import org.apache.camel.support.component.ApiMethodPropertiesHelper;
  * For uploading downloading and managing files folders groups collaborations etc on box DOT com.
  */
 @UriEndpoint(firstVersion = "2.14.0", scheme = "box", title = "Box", syntax = "box:apiName/methodName",
-    consumerClass = BoxConsumer.class, consumerPrefix = "consumer", label = "api,file,cloud", lenientProperties = true)
+    consumerPrefix = "consumer", label = "api,file,cloud", lenientProperties = true)
 public class BoxEndpoint extends AbstractApiEndpoint<BoxApiName, BoxConfiguration> {
 
     @UriParam
diff --git a/components/camel-braintree/src/main/java/org/apache/camel/component/braintree/BraintreeEndpoint.java b/components/camel-braintree/src/main/java/org/apache/camel/component/braintree/BraintreeEndpoint.java
index e40efd5..41a9943 100644
--- a/components/camel-braintree/src/main/java/org/apache/camel/component/braintree/BraintreeEndpoint.java
+++ b/components/camel-braintree/src/main/java/org/apache/camel/component/braintree/BraintreeEndpoint.java
@@ -37,7 +37,7 @@ import org.apache.camel.support.component.ApiMethodPropertiesHelper;
 /**
  * The braintree component is used for integrating with the Braintree Payment System.
  */
-@UriEndpoint(firstVersion = "2.17.0", scheme = "braintree", title = "Braintree", syntax = "braintree:apiName/methodName", consumerClass = BraintreeConsumer.class, label = "api,cloud,payment")
+@UriEndpoint(firstVersion = "2.17.0", scheme = "braintree", title = "Braintree", syntax = "braintree:apiName/methodName", label = "api,cloud,payment")
 public class BraintreeEndpoint extends AbstractApiEndpoint<BraintreeApiName, BraintreeConfiguration> {
 
     @UriParam
diff --git a/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/CassandraEndpoint.java b/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/CassandraEndpoint.java
index ff08894..65383fb 100644
--- a/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/CassandraEndpoint.java
+++ b/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/CassandraEndpoint.java
@@ -39,7 +39,7 @@ import org.apache.camel.utils.cassandra.CassandraSessionHolder;
  *
  * It's based on Cassandra Java Driver provided by DataStax.
  */
-@UriEndpoint(firstVersion = "2.15.0", scheme = "cql", title = "Cassandra CQL", syntax = "cql:beanRef:hosts:port/keyspace", consumerClass = CassandraConsumer.class, label = "database,nosql")
+@UriEndpoint(firstVersion = "2.15.0", scheme = "cql", title = "Cassandra CQL", syntax = "cql:beanRef:hosts:port/keyspace", label = "database,nosql")
 public class CassandraEndpoint extends ScheduledPollEndpoint {
 
     private volatile CassandraSessionHolder sessionHolder;
diff --git a/components/camel-chronicle/src/main/java/org/apache/camel/component/chronicle/engine/ChronicleEngineEndpoint.java b/components/camel-chronicle/src/main/java/org/apache/camel/component/chronicle/engine/ChronicleEngineEndpoint.java
index 77abeee..b0ac3bd 100644
--- a/components/camel-chronicle/src/main/java/org/apache/camel/component/chronicle/engine/ChronicleEngineEndpoint.java
+++ b/components/camel-chronicle/src/main/java/org/apache/camel/component/chronicle/engine/ChronicleEngineEndpoint.java
@@ -35,7 +35,6 @@ import org.apache.camel.spi.UriPath;
     scheme = "chronicle-engine",
     title = "Chronicle Engine",
     syntax = "chronicle-engine:addresses/path", 
-    consumerClass = ChronicleEngineConsumer.class, 
     label = "datagrid,cache")
 public class ChronicleEngineEndpoint extends DefaultEndpoint {
 
diff --git a/components/camel-cmis/src/main/java/org/apache/camel/component/cmis/CMISEndpoint.java b/components/camel-cmis/src/main/java/org/apache/camel/component/cmis/CMISEndpoint.java
index 852a72c..4eee896 100644
--- a/components/camel-cmis/src/main/java/org/apache/camel/component/cmis/CMISEndpoint.java
+++ b/components/camel-cmis/src/main/java/org/apache/camel/component/cmis/CMISEndpoint.java
@@ -30,7 +30,7 @@ import org.apache.camel.spi.UriPath;
 /**
  * The cmis component uses the Apache Chemistry client API and allows you to add/read nodes to/from a CMIS compliant content repositories.
  */
-@UriEndpoint(firstVersion = "2.11.0", scheme = "cmis", title = "CMIS", syntax = "cmis:cmsUrl", consumerClass = CMISConsumer.class, label = "cms,database")
+@UriEndpoint(firstVersion = "2.11.0", scheme = "cmis", title = "CMIS", syntax = "cmis:cmsUrl", label = "cms,database")
 public class CMISEndpoint extends DefaultEndpoint {
 
     @UriPath(description = "URL to the cmis repository")
diff --git a/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPEndpoint.java b/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPEndpoint.java
index 10ec95c..98687fa 100644
--- a/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPEndpoint.java
+++ b/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPEndpoint.java
@@ -30,7 +30,7 @@ import org.eclipse.californium.core.CoapServer;
 /**
  * The coap component is used for sending and receiving messages from COAP capable devices.
  */
-@UriEndpoint(firstVersion = "2.16.0", scheme = "coap", title = "CoAP", syntax = "coap:uri", consumerClass = CoAPConsumer.class, label = "iot")
+@UriEndpoint(firstVersion = "2.16.0", scheme = "coap", title = "CoAP", syntax = "coap:uri", label = "iot")
 public class CoAPEndpoint extends DefaultEndpoint {
     @UriPath
     private URI uri;
diff --git a/components/camel-cometd/src/main/java/org/apache/camel/component/cometd/CometdEndpoint.java b/components/camel-cometd/src/main/java/org/apache/camel/component/cometd/CometdEndpoint.java
index 12f4f38..7136994 100644
--- a/components/camel-cometd/src/main/java/org/apache/camel/component/cometd/CometdEndpoint.java
+++ b/components/camel-cometd/src/main/java/org/apache/camel/component/cometd/CometdEndpoint.java
@@ -36,7 +36,7 @@ import org.apache.camel.util.ObjectHelper;
  * Using this component in combination with the dojo toolkit library it's possible to push Camel messages directly
  * into the browser using an AJAX based mechanism.
  */
-@UriEndpoint(firstVersion = "2.0.0", scheme = "cometd,cometds", title = "CometD", syntax = "cometd:host:port/channelName", consumerClass = CometdConsumer.class, label = "websocket")
+@UriEndpoint(firstVersion = "2.0.0", scheme = "cometd,cometds", title = "CometD", syntax = "cometd:host:port/channelName", label = "websocket")
 public class CometdEndpoint extends DefaultEndpoint {
 
     private CometdComponent component;
diff --git a/components/camel-corda/src/main/java/org/apache/camel/component/corda/CordaEndpoint.java b/components/camel-corda/src/main/java/org/apache/camel/component/corda/CordaEndpoint.java
index 7ab7b9c..61f75f2 100644
--- a/components/camel-corda/src/main/java/org/apache/camel/component/corda/CordaEndpoint.java
+++ b/components/camel-corda/src/main/java/org/apache/camel/component/corda/CordaEndpoint.java
@@ -34,7 +34,7 @@ import org.apache.camel.support.DefaultEndpoint;
 /**
  * The corda component uses the corda-rpc to interact with corda nodes.
  */
-@UriEndpoint(firstVersion = "2.23.0", scheme = "corda", title = "corda", syntax = "corda:url", consumerClass = CordaConsumer.class, label = "corda,blockchain")
+@UriEndpoint(firstVersion = "2.23.0", scheme = "corda", title = "corda", syntax = "corda:url", label = "corda,blockchain")
 public class CordaEndpoint extends DefaultEndpoint {
 
     @UriPath(description = "URL to the corda node")
diff --git a/components/camel-couchbase/src/main/java/org/apache/camel/component/couchbase/CouchbaseEndpoint.java b/components/camel-couchbase/src/main/java/org/apache/camel/component/couchbase/CouchbaseEndpoint.java
index 7aa1fbe..3f2fb86 100644
--- a/components/camel-couchbase/src/main/java/org/apache/camel/component/couchbase/CouchbaseEndpoint.java
+++ b/components/camel-couchbase/src/main/java/org/apache/camel/component/couchbase/CouchbaseEndpoint.java
@@ -57,7 +57,7 @@ import static org.apache.camel.component.couchbase.CouchbaseConstants.DEFAULT_VI
  * Represents a Couchbase endpoint that can query Views with a Poll strategy
  * and/or produce various type of operations.
  */
-@UriEndpoint(firstVersion = "2.19.0", scheme = "couchbase", title = "Couchbase", syntax = "couchbase:protocol:hostname:port", consumerClass = CouchbaseConsumer.class, label = "database,nosql")
+@UriEndpoint(firstVersion = "2.19.0", scheme = "couchbase", title = "Couchbase", syntax = "couchbase:protocol:hostname:port", label = "database,nosql")
 public class CouchbaseEndpoint extends ScheduledPollEndpoint {
 
     @UriPath
diff --git a/components/camel-couchdb/src/main/java/org/apache/camel/component/couchdb/CouchDbEndpoint.java b/components/camel-couchdb/src/main/java/org/apache/camel/component/couchdb/CouchDbEndpoint.java
index 830ad95..0793083 100644
--- a/components/camel-couchdb/src/main/java/org/apache/camel/component/couchdb/CouchDbEndpoint.java
+++ b/components/camel-couchdb/src/main/java/org/apache/camel/component/couchdb/CouchDbEndpoint.java
@@ -33,7 +33,7 @@ import org.lightcouch.CouchDbClient;
 /**
  * The couchdb component is used for integrate with CouchDB databases.
  */
-@UriEndpoint(firstVersion = "2.11.0", scheme = "couchdb", title = "CouchDB", syntax = "couchdb:protocol:hostname:port/database", consumerClass = CouchDbConsumer.class, label = "database,nosql")
+@UriEndpoint(firstVersion = "2.11.0", scheme = "couchdb", title = "CouchDB", syntax = "couchdb:protocol:hostname:port/database", label = "database,nosql")
 public class CouchDbEndpoint extends DefaultEndpoint {
 
     public static final String DEFAULT_STYLE = "main_only";
diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java
index e7ab062..eb7d70a 100644
--- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java
+++ b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java
@@ -117,7 +117,7 @@ import org.apache.cxf.wsdl.WSDLManager;
 /**
  * The cxf component is used for SOAP WebServices using Apache CXF.
  */
-@UriEndpoint(firstVersion = "1.0.0", scheme = "cxf", title = "CXF", syntax = "cxf:beanId:address", consumerClass = CxfConsumer.class, label = "soap,webservice")
+@UriEndpoint(firstVersion = "1.0.0", scheme = "cxf", title = "CXF", syntax = "cxf:beanId:address", label = "soap,webservice")
 public class CxfEndpoint extends DefaultEndpoint implements AsyncEndpoint, HeaderFilterStrategyAware, Service, Cloneable {
 
     @UriParam(label = "advanced")
diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java
index 050f34d..7924ccf 100644
--- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java
+++ b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java
@@ -65,7 +65,7 @@ import org.slf4j.LoggerFactory;
 /**
  * The cxfrs component is used for JAX-RS REST services using Apache CXF.
  */
-@UriEndpoint(firstVersion = "2.0.0", scheme = "cxfrs", title = "CXF-RS", syntax = "cxfrs:beanId:address", consumerClass = CxfRsConsumer.class, label = "rest", lenientProperties = true)
+@UriEndpoint(firstVersion = "2.0.0", scheme = "cxfrs", title = "CXF-RS", syntax = "cxfrs:beanId:address", label = "rest", lenientProperties = true)
 public class CxfRsEndpoint extends DefaultEndpoint implements HeaderFilterStrategyAware, Service {
 
     private static final Logger LOG = LoggerFactory.getLogger(CxfRsEndpoint.class);
diff --git a/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorEndpoint.java b/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorEndpoint.java
index 4600e77..a653dec 100644
--- a/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorEndpoint.java
+++ b/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorEndpoint.java
@@ -49,7 +49,7 @@ import org.slf4j.LoggerFactory;
  * instead of a BlockingQueue utilized by the standard SEDA.
  */
 @ManagedResource(description = "Managed Disruptor Endpoint")
-@UriEndpoint(firstVersion = "2.12.0", scheme = "disruptor,disruptor-vm", title = "Disruptor,Disruptor VM", syntax = "disruptor:name", consumerClass = DisruptorConsumer.class, label = "endpoint")
+@UriEndpoint(firstVersion = "2.12.0", scheme = "disruptor,disruptor-vm", title = "Disruptor,Disruptor VM", syntax = "disruptor:name", label = "endpoint")
 public class DisruptorEndpoint extends DefaultEndpoint implements AsyncEndpoint, MultipleConsumersSupport {
     public static final String DISRUPTOR_IGNORE_EXCHANGE = "disruptor.ignoreExchange";
     private static final Logger LOGGER = LoggerFactory.getLogger(DisruptorEndpoint.class);
diff --git a/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/DropboxEndpoint.java b/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/DropboxEndpoint.java
index fd68ee8..6b1411c 100644
--- a/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/DropboxEndpoint.java
+++ b/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/DropboxEndpoint.java
@@ -39,7 +39,7 @@ import org.slf4j.LoggerFactory;
 /**
  * For uploading, downloading and managing files, folders, groups, collaborations, etc on dropbox DOT com.
  */
-@UriEndpoint(firstVersion = "2.14.0", scheme = "dropbox", title = "Dropbox", syntax = "dropbox:operation", consumerClass = DropboxScheduledPollConsumer.class, label = "api,file")
+@UriEndpoint(firstVersion = "2.14.0", scheme = "dropbox", title = "Dropbox", syntax = "dropbox:operation", label = "api,file")
 public class DropboxEndpoint extends DefaultEndpoint {
 
     private static final transient Logger LOG = LoggerFactory.getLogger(DropboxEndpoint.class);
diff --git a/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/EhcacheEndpoint.java b/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/EhcacheEndpoint.java
index 91aff84..ea650a2 100644
--- a/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/EhcacheEndpoint.java
+++ b/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/EhcacheEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.UriPath;
 /**
  * The ehcache component enables you to perform caching operations using <a href="http://www.ehcache.org">Ehcache</a> as cache implementation.
  */
-@UriEndpoint(firstVersion = "2.18.0", scheme = "ehcache", title = "Ehcache", syntax = "ehcache:cacheName", consumerClass = EhcacheConsumer.class, label = "cache,datagrid,clustering")
+@UriEndpoint(firstVersion = "2.18.0", scheme = "ehcache", title = "Ehcache", syntax = "ehcache:cacheName", label = "cache,datagrid,clustering")
 public class EhcacheEndpoint extends DefaultEndpoint {
     @UriPath(description = "the cache name")
     @Metadata(required = true)
diff --git a/components/camel-elsql/src/main/java/org/apache/camel/component/elsql/ElsqlEndpoint.java b/components/camel-elsql/src/main/java/org/apache/camel/component/elsql/ElsqlEndpoint.java
index 94e5630..bd72958 100644
--- a/components/camel-elsql/src/main/java/org/apache/camel/component/elsql/ElsqlEndpoint.java
+++ b/components/camel-elsql/src/main/java/org/apache/camel/component/elsql/ElsqlEndpoint.java
@@ -45,7 +45,7 @@ import org.springframework.jdbc.core.namedparam.SqlParameterSource;
 /**
  * The elsql component is an extension to the existing SQL Component that uses ElSql to define the SQL queries.
  */
-@UriEndpoint(firstVersion = "2.16.0", scheme = "elsql", title = "ElSQL", syntax = "elsql:elsqlName:resourceUri", consumerClass = ElsqlConsumer.class,
+@UriEndpoint(firstVersion = "2.16.0", scheme = "elsql", title = "ElSQL", syntax = "elsql:elsqlName:resourceUri",
         label = "database,sql")
 public class ElsqlEndpoint extends DefaultSqlEndpoint {
 
diff --git a/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/AbstractEtcdPollingEndpoint.java b/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/AbstractEtcdPollingEndpoint.java
index 720507f..b0e0063 100644
--- a/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/AbstractEtcdPollingEndpoint.java
+++ b/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/AbstractEtcdPollingEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.spi.UriPath;
 /**
  * The camel etcd component allows you to work with <a href="https://coreos.com/etcd">Etcd</a>, a distributed reliable key-value store.
  */
-@UriEndpoint(firstVersion = "2.18.0", scheme = "etcd", title = "etcd", syntax = "etcd:namespace/path", consumerClass = AbstractEtcdConsumer.class, label = "clustering,database")
+@UriEndpoint(firstVersion = "2.18.0", scheme = "etcd", title = "etcd", syntax = "etcd:namespace/path", label = "clustering,database")
 public abstract class AbstractEtcdPollingEndpoint extends DefaultPollingEndpoint implements EtcdEndpoint {
 
     @UriPath(description = "The API namespace to use", enums = "keys,stats,watch")
diff --git a/components/camel-eventadmin/src/main/java/org/apache/camel/component/eventadmin/EventAdminEndpoint.java b/components/camel-eventadmin/src/main/java/org/apache/camel/component/eventadmin/EventAdminEndpoint.java
index da39b0b..119fd2f 100644
--- a/components/camel-eventadmin/src/main/java/org/apache/camel/component/eventadmin/EventAdminEndpoint.java
+++ b/components/camel-eventadmin/src/main/java/org/apache/camel/component/eventadmin/EventAdminEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.UriPath;
 /**
  * The eventadmin component can be used in an OSGi environment to receive OSGi EventAdmin events and process them.
  */
-@UriEndpoint(firstVersion = "2.6.0", scheme = "eventadmin", title = "OSGi EventAdmin", syntax = "eventadmin:topic", consumerClass = EventAdminConsumer.class, label = "eventbus")
+@UriEndpoint(firstVersion = "2.6.0", scheme = "eventadmin", title = "OSGi EventAdmin", syntax = "eventadmin:topic", label = "eventbus")
 public class EventAdminEndpoint extends DefaultEndpoint implements MultipleConsumersSupport {
 
     @UriPath
diff --git a/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookEndpoint.java b/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookEndpoint.java
index 7386de6..cb37bb1 100644
--- a/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookEndpoint.java
+++ b/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookEndpoint.java
@@ -51,7 +51,7 @@ import static org.apache.camel.component.facebook.data.FacebookPropertiesHelper.
  * It allows producing messages to retrieve, add, and delete posts, likes, comments, photos, albums, videos, photos,
  * checkins, locations, links, etc. It also supports APIs that allow polling for posts, users, checkins, groups, locations, etc.
  */
-@UriEndpoint(firstVersion = "2.14.0", scheme = "facebook", title = "Facebook", syntax = "facebook:methodName", consumerClass = FacebookConsumer.class, label = "social")
+@UriEndpoint(firstVersion = "2.14.0", scheme = "facebook", title = "Facebook", syntax = "facebook:methodName", label = "social")
 public class FacebookEndpoint extends DefaultEndpoint implements FacebookConstants {
 
     private FacebookNameStyle nameStyle;
diff --git a/components/camel-fhir/camel-fhir-component/src/main/java/org/apache/camel/component/fhir/FhirEndpoint.java b/components/camel-fhir/camel-fhir-component/src/main/java/org/apache/camel/component/fhir/FhirEndpoint.java
index fc6ff4c..00eb285 100644
--- a/components/camel-fhir/camel-fhir-component/src/main/java/org/apache/camel/component/fhir/FhirEndpoint.java
+++ b/components/camel-fhir/camel-fhir-component/src/main/java/org/apache/camel/component/fhir/FhirEndpoint.java
@@ -50,7 +50,7 @@ import org.apache.camel.support.component.ApiMethodPropertiesHelper;
  * The fhir component is used for working with the FHIR protocol (health care).
  */
 @UriEndpoint(firstVersion = "2.23.0", scheme = "fhir", title = "FHIR", syntax = "fhir:apiName/methodName",
-        consumerClass = FhirConsumer.class, label = "hl7,api")
+        label = "hl7,api")
 public class FhirEndpoint extends AbstractApiEndpoint<FhirApiName, FhirConfiguration> {
 
     private static final String EXTRA_PARAMETERS_PROPERTY = "extraParameters";
diff --git a/components/camel-flatpack/src/main/java/org/apache/camel/component/flatpack/FlatpackEndpoint.java b/components/camel-flatpack/src/main/java/org/apache/camel/component/flatpack/FlatpackEndpoint.java
index 604ad21..45bd725 100644
--- a/components/camel-flatpack/src/main/java/org/apache/camel/component/flatpack/FlatpackEndpoint.java
+++ b/components/camel-flatpack/src/main/java/org/apache/camel/component/flatpack/FlatpackEndpoint.java
@@ -47,7 +47,7 @@ import org.apache.camel.support.ResourceHelper;
 /**
  * The flatpack component supports fixed width and delimited file parsing via the FlatPack library.
  */
-@UriEndpoint(firstVersion = "1.4.0", scheme = "flatpack", title = "Flatpack", syntax = "flatpack:type:resourceUri", consumerClass = FlatpackConsumer.class, label = "transformation")
+@UriEndpoint(firstVersion = "1.4.0", scheme = "flatpack", title = "Flatpack", syntax = "flatpack:type:resourceUri", label = "transformation")
 public class FlatpackEndpoint extends DefaultPollingEndpoint {
 
     private LoadBalancer loadBalancer = new RoundRobinLoadBalancer();
diff --git a/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpEndpoint.java b/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpEndpoint.java
index 0c0b61f..2ed71f1 100644
--- a/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpEndpoint.java
+++ b/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpEndpoint.java
@@ -43,7 +43,7 @@ import org.apache.commons.net.ftp.FTPFile;
  */
 @UriEndpoint(firstVersion = "1.1.0", scheme = "ftp", extendsScheme = "file", title = "FTP",
         syntax = "ftp:host:port/directoryName", alternativeSyntax = "ftp:username:password@host:port/directoryName",
-        consumerClass = FtpConsumer.class, label = "file",
+        label = "file",
         excludeProperties = "readLockIdempotentReleaseAsync,readLockIdempotentReleaseAsyncPoolSize,readLockIdempotentReleaseDelay,readLockIdempotentReleaseExecutorService")
 @ManagedResource(description = "Managed FtpEndpoint")
 public class FtpEndpoint<T extends FTPFile> extends RemoteFileEndpoint<FTPFile> {
diff --git a/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpsEndpoint.java b/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpsEndpoint.java
index 2611fa6..018ebc2 100644
--- a/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpsEndpoint.java
+++ b/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpsEndpoint.java
@@ -42,7 +42,7 @@ import org.apache.commons.net.ftp.FTPSClient;
  */
 @UriEndpoint(firstVersion = "2.2.0", scheme = "ftps", extendsScheme = "file", title = "FTPS",
         syntax = "ftps:host:port/directoryName", alternativeSyntax = "ftps:username:password@host:port/directoryName",
-        consumerClass = FtpConsumer.class, label = "file")
+        label = "file")
 @ManagedResource(description = "Managed FtpsEndpoint")
 public class FtpsEndpoint extends FtpEndpoint<FTPFile> {
     @UriParam
diff --git a/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpEndpoint.java b/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpEndpoint.java
index 41456f5..175ee4a 100644
--- a/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpEndpoint.java
+++ b/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.UriParam;
  *  The sftp (FTP over SSH) component is used for uploading or downloading files from SFTP servers.
  */
 @UriEndpoint(firstVersion = "1.1.0", scheme = "sftp", extendsScheme = "file", title = "SFTP",
-        syntax = "sftp:host:port/directoryName", consumerClass = SftpConsumer.class, label = "file",
+        syntax = "sftp:host:port/directoryName", label = "file",
         excludeProperties = "binary,passiveMode,receiveBufferSize,siteCommand")
 public class SftpEndpoint extends RemoteFileEndpoint<SftpRemoteFile> {
 
diff --git a/components/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarEndpoint.java b/components/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarEndpoint.java
index 86bace7..fc5acd9 100644
--- a/components/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarEndpoint.java
+++ b/components/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarEndpoint.java
@@ -37,7 +37,7 @@ import org.apache.camel.support.component.ApiMethodPropertiesHelper;
  * The google-calendar component provides access to Google Calendar.
  */
 @UriEndpoint(firstVersion = "2.15.0", scheme = "google-calendar", title = "Google Calendar", syntax = "google-calendar:apiName/methodName",
-consumerClass = GoogleCalendarConsumer.class, consumerPrefix = "consumer", label = "api,cloud")
+             consumerPrefix = "consumer", label = "api,cloud")
 public class GoogleCalendarEndpoint extends AbstractApiEndpoint<GoogleCalendarApiName, GoogleCalendarConfiguration> {
 
     @UriParam
diff --git a/components/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/stream/GoogleCalendarStreamEndpoint.java b/components/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/stream/GoogleCalendarStreamEndpoint.java
index 00a032d..0b57b27 100644
--- a/components/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/stream/GoogleCalendarStreamEndpoint.java
+++ b/components/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/stream/GoogleCalendarStreamEndpoint.java
@@ -36,7 +36,6 @@ import org.apache.camel.spi.UriParam;
              scheme = "google-calendar-stream",
              title = "Google Calendar Stream",
              syntax = "google-calendar-stream:index",
-             consumerClass = GoogleCalendarStreamConsumer.class,
              consumerOnly = true,
              label = "api,cloud")
 public class GoogleCalendarStreamEndpoint extends ScheduledPollEndpoint {
diff --git a/components/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveEndpoint.java b/components/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveEndpoint.java
index 2113bba..56df9d5 100644
--- a/components/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveEndpoint.java
+++ b/components/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveEndpoint.java
@@ -36,7 +36,7 @@ import org.apache.camel.support.component.ApiMethodPropertiesHelper;
  * The google-drive component provides access to Google Drive file storage service.
  */
 @UriEndpoint(firstVersion = "2.14.0", scheme = "google-drive", title = "Google Drive", syntax = "google-drive:apiName/methodName",
-consumerClass = GoogleDriveConsumer.class, consumerPrefix = "consumer", label = "api,cloud,file")
+             consumerPrefix = "consumer", label = "api,cloud,file")
 public class GoogleDriveEndpoint extends AbstractApiEndpoint<GoogleDriveApiName, GoogleDriveConfiguration> {
     private Object apiProxy;
 
diff --git a/components/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/GoogleMailEndpoint.java b/components/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/GoogleMailEndpoint.java
index f64655d..51e8ee0 100644
--- a/components/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/GoogleMailEndpoint.java
+++ b/components/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/GoogleMailEndpoint.java
@@ -41,8 +41,7 @@ import org.apache.camel.support.component.ApiMethodPropertiesHelper;
     scheme = "google-mail", 
     title = "Google Mail", 
     syntax = "google-mail:apiName/methodName", 
-    consumerClass = GoogleMailConsumer.class, 
-    consumerPrefix = "consumer", 
+    consumerPrefix = "consumer",
     label = "api,cloud,mail")
 public class GoogleMailEndpoint extends AbstractApiEndpoint<GoogleMailApiName, GoogleMailConfiguration> {
 
diff --git a/components/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/stream/GoogleMailStreamEndpoint.java b/components/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/stream/GoogleMailStreamEndpoint.java
index f08d3a9..4055449 100644
--- a/components/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/stream/GoogleMailStreamEndpoint.java
+++ b/components/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/stream/GoogleMailStreamEndpoint.java
@@ -46,7 +46,6 @@ import org.apache.camel.util.ObjectHelper;
              scheme = "google-mail-stream",
              title = "Google Mail Stream",
              syntax = "google-mail-stream:index",
-             consumerClass = GoogleMailStreamConsumer.class,
              consumerOnly = true,
              label = "api,cloud,mail")
 public class GoogleMailStreamEndpoint extends ScheduledPollEndpoint {
diff --git a/components/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/GoogleSheetsEndpoint.java b/components/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/GoogleSheetsEndpoint.java
index 38a0eaa..2d03432 100644
--- a/components/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/GoogleSheetsEndpoint.java
+++ b/components/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/GoogleSheetsEndpoint.java
@@ -36,7 +36,7 @@ import org.apache.camel.support.component.ApiMethodPropertiesHelper;
  * The google-sheets component provides access to Google Sheets.
  */
 @UriEndpoint(firstVersion = "2.23.0", scheme = "google-sheets", title = "Google Sheets", 
-             syntax = "google-sheets:apiName/methodName", consumerClass = GoogleSheetsConsumer.class, consumerPrefix = "consumer", label = "api,cloud,sheets")
+             syntax = "google-sheets:apiName/methodName", consumerPrefix = "consumer", label = "api,cloud,sheets")
 public class GoogleSheetsEndpoint extends AbstractApiEndpoint<GoogleSheetsApiName, GoogleSheetsConfiguration> {
 
     @UriParam
diff --git a/components/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/stream/GoogleSheetsStreamEndpoint.java b/components/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/stream/GoogleSheetsStreamEndpoint.java
index e9bc6e4..2c70071 100644
--- a/components/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/stream/GoogleSheetsStreamEndpoint.java
+++ b/components/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/stream/GoogleSheetsStreamEndpoint.java
@@ -37,7 +37,6 @@ import org.apache.camel.support.ScheduledPollEndpoint;
              scheme = "google-sheets-stream",
              title = "Google Sheets Stream",
              syntax = "google-sheets-stream:apiName",
-             consumerClass = GoogleSheetsStreamConsumer.class,
              consumerOnly = true,
              label = "api,cloud,sheets")
 public class GoogleSheetsStreamEndpoint extends ScheduledPollEndpoint {
diff --git a/components/camel-gora/src/main/java/org/apache/camel/component/gora/GoraEndpoint.java b/components/camel-gora/src/main/java/org/apache/camel/component/gora/GoraEndpoint.java
index 51999a4..98f84dc 100644
--- a/components/camel-gora/src/main/java/org/apache/camel/component/gora/GoraEndpoint.java
+++ b/components/camel-gora/src/main/java/org/apache/camel/component/gora/GoraEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.gora.store.DataStore;
 /**
  * The gora component allows you to work with NoSQL databases using the Apache Gora framework.
  */
-@UriEndpoint(firstVersion = "2.14.0", scheme = "gora", title = "Gora", syntax = "gora:name", consumerClass = GoraConsumer.class, label = "database,hadoop,nosql")
+@UriEndpoint(firstVersion = "2.14.0", scheme = "gora", title = "Gora", syntax = "gora:name", label = "database,hadoop,nosql")
 public class GoraEndpoint extends DefaultEndpoint {
 
     /**
diff --git a/components/camel-guava-eventbus/src/main/java/org/apache/camel/component/guava/eventbus/GuavaEventBusEndpoint.java b/components/camel-guava-eventbus/src/main/java/org/apache/camel/component/guava/eventbus/GuavaEventBusEndpoint.java
index d309ed8..68b75ef 100644
--- a/components/camel-guava-eventbus/src/main/java/org/apache/camel/component/guava/eventbus/GuavaEventBusEndpoint.java
+++ b/components/camel-guava-eventbus/src/main/java/org/apache/camel/component/guava/eventbus/GuavaEventBusEndpoint.java
@@ -32,7 +32,7 @@ import org.apache.camel.support.CamelContextHelper;
 /**
  * The guava-eventbus component provides integration bridge between Camel and Google Guava EventBus.
  */
-@UriEndpoint(firstVersion = "2.10.0", scheme = "guava-eventbus", title = "Guava EventBus", syntax = "guava-eventbus:eventBusRef", consumerClass = GuavaEventBusConsumer.class, label = "eventbus")
+@UriEndpoint(firstVersion = "2.10.0", scheme = "guava-eventbus", title = "Guava EventBus", syntax = "guava-eventbus:eventBusRef", label = "eventbus")
 public class GuavaEventBusEndpoint extends DefaultEndpoint implements MultipleConsumersSupport {
 
     private EventBus eventBus;
diff --git a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/instance/HazelcastInstanceEndpoint.java b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/instance/HazelcastInstanceEndpoint.java
index 51907f1..24837fb 100644
--- a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/instance/HazelcastInstanceEndpoint.java
+++ b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/instance/HazelcastInstanceEndpoint.java
@@ -29,7 +29,7 @@ import org.apache.camel.spi.UriEndpoint;
  * The hazelcast-instance component is used to consume join/leave events of the cache instance in the cluster.
  */
 @UriEndpoint(firstVersion = "2.7.0", scheme = "hazelcast-instance", title = "Hazelcast Instance", syntax = "hazelcast-instance:cacheName",
-    consumerOnly = true, consumerClass = HazelcastInstanceConsumer.class, label = "cache,datagrid")
+    consumerOnly = true, label = "cache,datagrid")
 public class HazelcastInstanceEndpoint extends HazelcastDefaultEndpoint {
 
     public HazelcastInstanceEndpoint(HazelcastInstance hazelcastInstance, String uri, HazelcastDefaultComponent component) {
diff --git a/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/HBaseEndpoint.java b/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/HBaseEndpoint.java
index 2acfa88..ed0fe85 100644
--- a/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/HBaseEndpoint.java
+++ b/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/HBaseEndpoint.java
@@ -43,7 +43,7 @@ import org.apache.hadoop.security.UserGroupInformation;
 /**
  * For reading/writing from/to an HBase store (Hadoop database).
  */
-@UriEndpoint(firstVersion = "2.10.0", scheme = "hbase", title = "HBase", syntax = "hbase:tableName", consumerClass = HBaseConsumer.class, label = "hadoop")
+@UriEndpoint(firstVersion = "2.10.0", scheme = "hbase", title = "HBase", syntax = "hbase:tableName", label = "hadoop")
 public class HBaseEndpoint extends DefaultEndpoint {
 
     private Configuration configuration;
diff --git a/components/camel-hdfs2/src/main/java/org/apache/camel/component/hdfs2/HdfsEndpoint.java b/components/camel-hdfs2/src/main/java/org/apache/camel/component/hdfs2/HdfsEndpoint.java
index 5f2ff87..de1acda 100644
--- a/components/camel-hdfs2/src/main/java/org/apache/camel/component/hdfs2/HdfsEndpoint.java
+++ b/components/camel-hdfs2/src/main/java/org/apache/camel/component/hdfs2/HdfsEndpoint.java
@@ -29,7 +29,7 @@ import org.apache.camel.spi.UriParam;
 /**
  * For reading/writing from/to an HDFS filesystem using Hadoop 2.x.
  */
-@UriEndpoint(firstVersion = "2.14.0", scheme = "hdfs2,hdfs", title = "HDFS2", syntax = "hdfs2:hostName:port/path", consumerClass = HdfsConsumer.class, label = "hadoop,file")
+@UriEndpoint(firstVersion = "2.14.0", scheme = "hdfs2,hdfs", title = "HDFS2", syntax = "hdfs2:hostName:port/path", label = "hadoop,file")
 public class HdfsEndpoint extends ScheduledPollEndpoint {
 
     @UriParam
diff --git a/components/camel-hipchat/src/main/java/org/apache/camel/component/hipchat/HipchatEndpoint.java b/components/camel-hipchat/src/main/java/org/apache/camel/component/hipchat/HipchatEndpoint.java
index 1d93811..67cd78b 100644
--- a/components/camel-hipchat/src/main/java/org/apache/camel/component/hipchat/HipchatEndpoint.java
+++ b/components/camel-hipchat/src/main/java/org/apache/camel/component/hipchat/HipchatEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.spi.UriParam;
 /**
  * The hipchat component supports producing and consuming messages from/to Hipchat service.
  */
-@UriEndpoint(firstVersion = "2.15.0", scheme = "hipchat", title = "Hipchat", syntax = "hipchat:protocol:host:port", consumerClass = HipchatConsumer.class, label = "api,cloud")
+@UriEndpoint(firstVersion = "2.15.0", scheme = "hipchat", title = "Hipchat", syntax = "hipchat:protocol:host:port", label = "api,cloud")
 public class HipchatEndpoint extends ScheduledPollEndpoint {
 
     @UriParam
diff --git a/components/camel-iec60870/src/main/java/org/apache/camel/component/iec60870/client/ClientEndpoint.java b/components/camel-iec60870/src/main/java/org/apache/camel/component/iec60870/client/ClientEndpoint.java
index f965d68..516a1ed 100644
--- a/components/camel-iec60870/src/main/java/org/apache/camel/component/iec60870/client/ClientEndpoint.java
+++ b/components/camel-iec60870/src/main/java/org/apache/camel/component/iec60870/client/ClientEndpoint.java
@@ -31,7 +31,7 @@ import org.apache.camel.spi.UriEndpoint;
  * such as controlling electric power transmission grids and other geographically widespread control systems.
  */
 @UriEndpoint(firstVersion = "2.20.0", scheme = "iec60870-client", syntax = "iec60870-client:uriPath",
-    title = "IEC 60870 Client", consumerClass = ClientConsumer.class, label = "iot")
+    title = "IEC 60870 Client", label = "iot")
 public class ClientEndpoint extends AbstractIecEndpoint<ClientConnectionMultiplexor> {
 
     public ClientEndpoint(final String uri, final DefaultComponent component, final ClientConnectionMultiplexor connection, final ObjectAddress address) {
diff --git a/components/camel-iec60870/src/main/java/org/apache/camel/component/iec60870/server/ServerEndpoint.java b/components/camel-iec60870/src/main/java/org/apache/camel/component/iec60870/server/ServerEndpoint.java
index 1dceed2..0fb553d 100644
--- a/components/camel-iec60870/src/main/java/org/apache/camel/component/iec60870/server/ServerEndpoint.java
+++ b/components/camel-iec60870/src/main/java/org/apache/camel/component/iec60870/server/ServerEndpoint.java
@@ -32,7 +32,7 @@ import org.apache.camel.spi.UriParam;
  * such as controlling electric power transmission grids and other geographically widespread control systems.
  */
 @UriEndpoint(firstVersion = "2.20.0", scheme = "iec60870-server", syntax = "iec60870-server:uriPath",
-    title = "IEC 60870 Server", consumerClass = ServerConsumer.class, label = "iot")
+    title = "IEC 60870 Server", label = "iot")
 public class ServerEndpoint extends AbstractIecEndpoint<ServerConnectionMultiplexor> {
 
     /**
diff --git a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/cache/IgniteCacheEndpoint.java b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/cache/IgniteCacheEndpoint.java
index 854fb9d..5234bb0 100644
--- a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/cache/IgniteCacheEndpoint.java
+++ b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/cache/IgniteCacheEndpoint.java
@@ -41,8 +41,7 @@ import org.apache.ignite.cache.query.Query;
  * This offers both a Producer (to invoke cache operations on an Ignite cache) and
  * a Consumer (to consume changes from a continuous query).
  */
-@UriEndpoint(firstVersion = "2.17.0", scheme = "ignite-cache", title = "Ignite Cache", syntax = "ignite-cache:cacheName", label = "nosql,cache,compute",
-    consumerClass = IgniteCacheContinuousQueryConsumer.class)
+@UriEndpoint(firstVersion = "2.17.0", scheme = "ignite-cache", title = "Ignite Cache", syntax = "ignite-cache:cacheName", label = "nosql,cache,compute")
 public class IgniteCacheEndpoint extends AbstractIgniteEndpoint {
 
     @UriPath @Metadata(required = true)
diff --git a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/events/IgniteEventsEndpoint.java b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/events/IgniteEventsEndpoint.java
index a91810f..b62730f 100644
--- a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/events/IgniteEventsEndpoint.java
+++ b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/events/IgniteEventsEndpoint.java
@@ -43,7 +43,7 @@ import org.apache.ignite.events.EventType;
  * The Exchanges created by this consumer put the received Event object into the body of the IN message.
  */
 @UriEndpoint(firstVersion = "2.17.0", scheme = "ignite-events", title = "Ignite Events", syntax = "ignite-events:endpointId", label = "nosql,cache,compute,messaging,data",
-    consumerOnly = true, consumerClass = IgniteEventsConsumer.class)
+    consumerOnly = true)
 public class IgniteEventsEndpoint extends AbstractIgniteEndpoint {
 
     @UriPath
diff --git a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/messaging/IgniteMessagingEndpoint.java b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/messaging/IgniteMessagingEndpoint.java
index edb737d..326bef8 100644
--- a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/messaging/IgniteMessagingEndpoint.java
+++ b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/messaging/IgniteMessagingEndpoint.java
@@ -35,8 +35,7 @@ import org.apache.ignite.IgniteMessaging;
  * consume messages from an <a href="https://apacheignite.readme.io/docs/messaging">Ignite topic</a>.
  * This endpoint supports producers (to send messages) and consumers (to receive messages).
  */
-@UriEndpoint(firstVersion = "2.17.0", scheme = "ignite-messaging", title = "Ignite Messaging", syntax = "ignite-messaging:topic", label = "nosql,cache,messaging",
-    consumerClass = IgniteMessagingConsumer.class)
+@UriEndpoint(firstVersion = "2.17.0", scheme = "ignite-messaging", title = "Ignite Messaging", syntax = "ignite-messaging:topic", label = "nosql,cache,messaging")
 public class IgniteMessagingEndpoint extends AbstractIgniteEndpoint {
 
     @UriPath
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanEndpoint.java b/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanEndpoint.java
index ed64dc5..d2448d2 100644
--- a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanEndpoint.java
+++ b/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.UriPath;
 /**
  * For reading/writing from/to Infinispan distributed key/value store and data grid.
  */
-@UriEndpoint(firstVersion = "2.13.0", scheme = "infinispan", title = "Infinispan", syntax = "infinispan:cacheName", consumerClass = InfinispanConsumer.class, label = "cache,datagrid,clustering")
+@UriEndpoint(firstVersion = "2.13.0", scheme = "infinispan", title = "Infinispan", syntax = "infinispan:cacheName", label = "cache,datagrid,clustering")
 public class InfinispanEndpoint extends DefaultEndpoint {
 
     @UriPath(description = "The cache to use")
diff --git a/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcEndpoint.java b/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcEndpoint.java
index b9a6bfa..e7b8b22 100644
--- a/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcEndpoint.java
+++ b/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcEndpoint.java
@@ -38,7 +38,6 @@ import org.schwering.irc.lib.IRCUser;
     title = "IRC", 
     syntax = "irc:hostname:port", 
     alternativeSyntax = "irc:username:password@hostname:port", 
-    consumerClass = IrcConsumer.class, 
     label = "chat")
 public class IrcEndpoint extends DefaultEndpoint {
 
diff --git a/components/camel-ironmq/src/main/java/org/apache/camel/component/ironmq/IronMQEndpoint.java b/components/camel-ironmq/src/main/java/org/apache/camel/component/ironmq/IronMQEndpoint.java
index ef01739..655f3ba 100644
--- a/components/camel-ironmq/src/main/java/org/apache/camel/component/ironmq/IronMQEndpoint.java
+++ b/components/camel-ironmq/src/main/java/org/apache/camel/component/ironmq/IronMQEndpoint.java
@@ -35,7 +35,7 @@ import org.apache.camel.spi.UriParam;
 /**
  * The ironmq provides integration with <a href="https://www.iron.io/">IronMQ</a> an elastic and durable hosted message queue as a service.
  */
-@UriEndpoint(firstVersion = "2.17.0", scheme = "ironmq", syntax = "ironmq:queueName", title = "IronMQ", consumerClass = IronMQConsumer.class, label = "cloud,messaging")
+@UriEndpoint(firstVersion = "2.17.0", scheme = "ironmq", syntax = "ironmq:queueName", title = "IronMQ", label = "cloud,messaging")
 public class IronMQEndpoint extends ScheduledPollEndpoint {
 
     @UriParam
diff --git a/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/JCacheEndpoint.java b/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/JCacheEndpoint.java
index 5a8453f..a58161e 100644
--- a/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/JCacheEndpoint.java
+++ b/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/JCacheEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.UriPath;
 /**
  * The jcache component enables you to perform caching operations using JSR107/JCache as cache implementation.
  */
-@UriEndpoint(firstVersion = "2.17.0", scheme = "jcache", title = "JCache", syntax = "jcache:cacheName", consumerClass = JCacheConsumer.class, label = "cache,datagrid,clustering")
+@UriEndpoint(firstVersion = "2.17.0", scheme = "jcache", title = "JCache", syntax = "jcache:cacheName", label = "cache,datagrid,clustering")
 public class JCacheEndpoint extends DefaultEndpoint {
 
     @UriPath(description = "The name of the cache")
diff --git a/components/camel-jclouds/src/main/java/org/apache/camel/component/jclouds/JcloudsEndpoint.java b/components/camel-jclouds/src/main/java/org/apache/camel/component/jclouds/JcloudsEndpoint.java
index 9a10a50..1eaf57e 100644
--- a/components/camel-jclouds/src/main/java/org/apache/camel/component/jclouds/JcloudsEndpoint.java
+++ b/components/camel-jclouds/src/main/java/org/apache/camel/component/jclouds/JcloudsEndpoint.java
@@ -23,7 +23,7 @@ import org.apache.camel.spi.UriParam;
 /**
  * For interacting with cloud compute & blobstore service via jclouds.
  */
-@UriEndpoint(firstVersion = "2.9.0", scheme = "jclouds", title = "JClouds", syntax = "jclouds:command:providerId", consumerClass = JcloudsConsumer.class, label = "api,cloud")
+@UriEndpoint(firstVersion = "2.9.0", scheme = "jclouds", title = "JClouds", syntax = "jclouds:command:providerId", label = "api,cloud")
 public abstract class JcloudsEndpoint extends DefaultEndpoint {
 
     @UriParam
diff --git a/components/camel-jcr/src/main/java/org/apache/camel/component/jcr/JcrEndpoint.java b/components/camel-jcr/src/main/java/org/apache/camel/component/jcr/JcrEndpoint.java
index a3b9e30..3d6899c 100644
--- a/components/camel-jcr/src/main/java/org/apache/camel/component/jcr/JcrEndpoint.java
+++ b/components/camel-jcr/src/main/java/org/apache/camel/component/jcr/JcrEndpoint.java
@@ -38,7 +38,7 @@ import org.apache.camel.util.StringHelper;
  * The jcr component allows you to add/read nodes to/from a JCR compliant content repository.
  */
 @UriEndpoint(firstVersion = "1.3.0", scheme = "jcr", title = "JCR", syntax = "jcr:host/base", alternativeSyntax = "jcr:username:password@host/base",
-        consumerClass = JcrConsumer.class, label = "cms,database")
+        label = "cms,database")
 public class JcrEndpoint extends DefaultEndpoint {
 
     private Credentials credentials;
diff --git a/components/camel-jetty9/src/main/java/org/apache/camel/component/jetty9/JettyHttpEndpoint9.java b/components/camel-jetty9/src/main/java/org/apache/camel/component/jetty9/JettyHttpEndpoint9.java
index e4413f4..3b8370f 100644
--- a/components/camel-jetty9/src/main/java/org/apache/camel/component/jetty9/JettyHttpEndpoint9.java
+++ b/components/camel-jetty9/src/main/java/org/apache/camel/component/jetty9/JettyHttpEndpoint9.java
@@ -31,7 +31,7 @@ import org.apache.camel.spi.UriEndpoint;
  * The jetty component provides HTTP-based endpoints for consuming and producing HTTP requests.
  */
 @UriEndpoint(firstVersion = "1.2.0", scheme = "jetty", extendsScheme = "http", title = "Jetty 9",
-        syntax = "jetty:httpUri", consumerClass = HttpConsumer.class, label = "http", lenientProperties = true,
+        syntax = "jetty:httpUri", label = "http", lenientProperties = true,
         excludeProperties = "authMethod,authMethodPriority,authUsername,authPassword,authDomain,authHost"
             + "proxyAuthScheme,proxyAuthMethod,proxyAuthUsername,proxyAuthPassword,proxyAuthHost,proxyAuthPort,proxyAuthDomain")
 public class JettyHttpEndpoint9 extends JettyHttpEndpoint implements AsyncEndpoint {
diff --git a/components/camel-jgroups-raft/src/main/java/org/apache/camel/component/jgroups/raft/JGroupsRaftEndpoint.java b/components/camel-jgroups-raft/src/main/java/org/apache/camel/component/jgroups/raft/JGroupsRaftEndpoint.java
index b8cc292..1870b48 100644
--- a/components/camel-jgroups-raft/src/main/java/org/apache/camel/component/jgroups/raft/JGroupsRaftEndpoint.java
+++ b/components/camel-jgroups-raft/src/main/java/org/apache/camel/component/jgroups/raft/JGroupsRaftEndpoint.java
@@ -39,7 +39,7 @@ import org.slf4j.LoggerFactory;
 /**
  * The jgroups component provides exchange of messages between Camel and JGroups clusters.
  */
-@UriEndpoint(firstVersion = "2.24.0", scheme = "jgroups-raft", title = "JGroups raft", syntax = "jgroup-raft:clusterName", consumerClass = JGroupsRaftConsumer.class, label = "clustering,messaging")
+@UriEndpoint(firstVersion = "2.24.0", scheme = "jgroups-raft", title = "JGroups raft", syntax = "jgroup-raft:clusterName", label = "clustering,messaging")
 public class JGroupsRaftEndpoint extends DefaultEndpoint {
     private static final Logger LOG = LoggerFactory.getLogger(JGroupsRaftEndpoint.class);
 
diff --git a/components/camel-jgroups/src/main/java/org/apache/camel/component/jgroups/JGroupsEndpoint.java b/components/camel-jgroups/src/main/java/org/apache/camel/component/jgroups/JGroupsEndpoint.java
index 6020cae..1f3f538 100644
--- a/components/camel-jgroups/src/main/java/org/apache/camel/component/jgroups/JGroupsEndpoint.java
+++ b/components/camel-jgroups/src/main/java/org/apache/camel/component/jgroups/JGroupsEndpoint.java
@@ -35,7 +35,7 @@ import org.jgroups.View;
 /**
  * The jgroups component provides exchange of messages between Camel and JGroups clusters.
  */
-@UriEndpoint(firstVersion = "2.13.0", scheme = "jgroups", title = "JGroups", syntax = "jgroups:clusterName", consumerClass = JGroupsConsumer.class, label = "clustering,messaging")
+@UriEndpoint(firstVersion = "2.13.0", scheme = "jgroups", title = "JGroups", syntax = "jgroups:clusterName", label = "clustering,messaging")
 public class JGroupsEndpoint extends DefaultEndpoint {
 
     public static final String HEADER_JGROUPS_ORIGINAL_MESSAGE = "JGROUPS_ORIGINAL_MESSAGE";
diff --git a/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java b/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java
index a2d966e..1f6c505 100644
--- a/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java
+++ b/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java
@@ -68,7 +68,7 @@ import org.springframework.util.ErrorHandler;
  * This component uses Spring JMS and supports JMS 1.1 and 2.0 API.
  */
 @ManagedResource(description = "Managed JMS Endpoint")
-@UriEndpoint(firstVersion = "1.0.0", scheme = "jms", title = "JMS", syntax = "jms:destinationType:destinationName", consumerClass = JmsConsumer.class, label = "messaging")
+@UriEndpoint(firstVersion = "1.0.0", scheme = "jms", title = "JMS", syntax = "jms:destinationType:destinationName", label = "messaging")
 public class JmsEndpoint extends DefaultEndpoint implements AsyncEndpoint, HeaderFilterStrategyAware, MultipleConsumersSupport, Service {
 
     private final AtomicInteger runningMessageListeners = new AtomicInteger();
diff --git a/components/camel-jmx/src/main/java/org/apache/camel/component/jmx/JMXEndpoint.java b/components/camel-jmx/src/main/java/org/apache/camel/component/jmx/JMXEndpoint.java
index c5a0fa8..5152238 100644
--- a/components/camel-jmx/src/main/java/org/apache/camel/component/jmx/JMXEndpoint.java
+++ b/components/camel-jmx/src/main/java/org/apache/camel/component/jmx/JMXEndpoint.java
@@ -48,7 +48,7 @@ import org.apache.camel.util.ObjectHelper;
  * <p/>
  * You can append query options to the URI in the following format, ?options=value&option2=value&...
  */
-@UriEndpoint(firstVersion = "2.6.0", scheme = "jmx", title = "JMX", syntax = "jmx:serverURL", consumerOnly = true, consumerClass = JMXConsumer.class, label = "monitoring")
+@UriEndpoint(firstVersion = "2.6.0", scheme = "jmx", title = "JMX", syntax = "jmx:serverURL", consumerOnly = true, label = "monitoring")
 public class JMXEndpoint extends DefaultEndpoint {
 
     // error messages as constants so they can be asserted on from unit tests
diff --git a/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaEndpoint.java b/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaEndpoint.java
index 9765188..c562f8c 100644
--- a/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaEndpoint.java
+++ b/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaEndpoint.java
@@ -48,7 +48,7 @@ import org.springframework.transaction.support.TransactionTemplate;
 /**
  * The jpa component enables you to store and retrieve Java objects from databases using JPA.
  */
-@UriEndpoint(firstVersion = "1.0.0", scheme = "jpa", title = "JPA", syntax = "jpa:entityType", consumerClass = JpaConsumer.class, label = "database,sql")
+@UriEndpoint(firstVersion = "1.0.0", scheme = "jpa", title = "JPA", syntax = "jpa:entityType", label = "database,sql")
 public class JpaEndpoint extends ScheduledPollEndpoint {
 
     private EntityManagerFactory entityManagerFactory;
diff --git a/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400Endpoint.java b/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400Endpoint.java
index f1d8960..fc79fe6 100644
--- a/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400Endpoint.java
+++ b/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400Endpoint.java
@@ -37,7 +37,7 @@ import org.apache.camel.util.URISupport;
 /**
  * The jt400 component allows you to exchanges messages with an AS/400 system using data queues or program call.
  */
-@UriEndpoint(firstVersion = "1.5.0", scheme = "jt400", title = "JT400", syntax = "jt400:userID:password/systemName/objectPath.type", consumerClass = Jt400DataQueueConsumer.class, label = "messaging")
+@UriEndpoint(firstVersion = "1.5.0", scheme = "jt400", title = "JT400", syntax = "jt400:userID:password/systemName/objectPath.type", label = "messaging")
 public class Jt400Endpoint extends ScheduledPollEndpoint implements MultipleConsumersSupport {
 
     public static final String KEY = "KEY";
diff --git a/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaEndpoint.java b/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaEndpoint.java
index 7550ed3..21cbf21 100644
--- a/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaEndpoint.java
+++ b/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaEndpoint.java
@@ -42,7 +42,7 @@ import org.apache.kafka.common.serialization.Serializer;
 /**
  * The kafka component allows messages to be sent to (or consumed from) Apache Kafka brokers.
  */
-@UriEndpoint(firstVersion = "2.13.0", scheme = "kafka", title = "Kafka", syntax = "kafka:topic", consumerClass = KafkaConsumer.class, label = "messaging")
+@UriEndpoint(firstVersion = "2.13.0", scheme = "kafka", title = "Kafka", syntax = "kafka:topic", label = "messaging")
 public class KafkaEndpoint extends DefaultEndpoint implements MultipleConsumersSupport {
 
     @UriParam
diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsEndpoint.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsEndpoint.java
index 57cb954..56d41ae 100644
--- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsEndpoint.java
+++ b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsEndpoint.java
@@ -30,7 +30,7 @@ import org.slf4j.LoggerFactory;
  * and a consumer to consume node events.
  */
 @UriEndpoint(firstVersion = "2.20.0", scheme = "kubernetes-deployments", title = "Kubernetes Deployments",
-    syntax = "kubernetes-deployments:masterUrl", consumerClass = KubernetesDeploymentsConsumer.class, label = "container,cloud,paas")
+    syntax = "kubernetes-deployments:masterUrl", label = "container,cloud,paas")
 public class KubernetesDeploymentsEndpoint extends AbstractKubernetesEndpoint {
 
     public KubernetesDeploymentsEndpoint(String uri, KubernetesDeploymentsComponent component, KubernetesConfiguration config) {
diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/hpa/KubernetesHPAEndpoint.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/hpa/KubernetesHPAEndpoint.java
index d114a84..94defa4 100644
--- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/hpa/KubernetesHPAEndpoint.java
+++ b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/hpa/KubernetesHPAEndpoint.java
@@ -30,7 +30,7 @@ import org.slf4j.LoggerFactory;
  * and a consumer to consume HPA events.
  */
 @UriEndpoint(firstVersion = "2.23.0", scheme = "kubernetes-hpa", title = "Kubernetes HPA",
-    syntax = "kubernetes-hpa:masterUrl", consumerClass = KubernetesHPAConsumer.class, label = "container,cloud,paas")
+    syntax = "kubernetes-hpa:masterUrl", label = "container,cloud,paas")
 public class KubernetesHPAEndpoint extends AbstractKubernetesEndpoint {
 
     public KubernetesHPAEndpoint(String uri, KubernetesHPAComponent component, KubernetesConfiguration config) {
diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/namespaces/KubernetesNamespacesEndpoint.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/namespaces/KubernetesNamespacesEndpoint.java
index 69c1567..244fca1 100644
--- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/namespaces/KubernetesNamespacesEndpoint.java
+++ b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/namespaces/KubernetesNamespacesEndpoint.java
@@ -30,7 +30,7 @@ import org.slf4j.LoggerFactory;
  * and a consumer to consume namespace events.
  */
 @UriEndpoint(firstVersion = "2.17.0", scheme = "kubernetes-namespaces", title = "Kubernetes Namespaces",
-    syntax = "kubernetes-namespaces:masterUrl", consumerClass = KubernetesNamespacesConsumer.class, label = "container,cloud,paas")
+    syntax = "kubernetes-namespaces:masterUrl", label = "container,cloud,paas")
 public class KubernetesNamespacesEndpoint extends AbstractKubernetesEndpoint {
 
     public KubernetesNamespacesEndpoint(String uri, KubernetesNamespacesComponent component, KubernetesConfiguration config) {
diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/nodes/KubernetesNodesEndpoint.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/nodes/KubernetesNodesEndpoint.java
index 5d212d1..1df6035 100644
--- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/nodes/KubernetesNodesEndpoint.java
+++ b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/nodes/KubernetesNodesEndpoint.java
@@ -30,7 +30,7 @@ import org.slf4j.LoggerFactory;
  * and a consumer to consume node events.
  */
 @UriEndpoint(firstVersion = "2.17.0", scheme = "kubernetes-nodes", title = "Kubernetes Nodes",
-    syntax = "kubernetes-nodes:masterUrl", consumerClass = KubernetesNodesConsumer.class, label = "container,cloud,paas")
+    syntax = "kubernetes-nodes:masterUrl", label = "container,cloud,paas")
 public class KubernetesNodesEndpoint extends AbstractKubernetesEndpoint {
 
     public KubernetesNodesEndpoint(String uri, KubernetesNodesComponent component, KubernetesConfiguration config) {
diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/pods/KubernetesPodsEndpoint.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/pods/KubernetesPodsEndpoint.java
index 08c7d0b1..88c701c 100644
--- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/pods/KubernetesPodsEndpoint.java
+++ b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/pods/KubernetesPodsEndpoint.java
@@ -30,7 +30,7 @@ import org.slf4j.LoggerFactory;
  * and a consumer to consume pod events.
  */
 @UriEndpoint(firstVersion = "2.17.0", scheme = "kubernetes-pods", title = "Kubernetes Pods",
-    syntax = "kubernetes-pods:masterUrl", consumerClass = KubernetesPodsConsumer.class, label = "container,cloud,paas")
+    syntax = "kubernetes-pods:masterUrl", label = "container,cloud,paas")
 public class KubernetesPodsEndpoint extends AbstractKubernetesEndpoint {
 
     public KubernetesPodsEndpoint(String uri, KubernetesPodsComponent component, KubernetesConfiguration config) {
diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersEndpoint.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersEndpoint.java
index fa66cb2..a2b60a7 100644
--- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersEndpoint.java
+++ b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersEndpoint.java
@@ -30,7 +30,7 @@ import org.slf4j.LoggerFactory;
  * operations and a consumer to consume replication controller events.
  */
 @UriEndpoint(firstVersion = "2.17.0", scheme = "kubernetes-replication-controllers", title = "Kubernetes Replication Controller",
-    syntax = "kubernetes-replication-controllers:masterUrl", consumerClass = KubernetesReplicationControllersConsumer.class, label = "container,cloud,paas")
+    syntax = "kubernetes-replication-controllers:masterUrl", label = "container,cloud,paas")
 public class KubernetesReplicationControllersEndpoint extends AbstractKubernetesEndpoint {
 
     public KubernetesReplicationControllersEndpoint(String uri, KubernetesReplicationControllersComponent component, KubernetesConfiguration config) {
diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/services/KubernetesServicesEndpoint.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/services/KubernetesServicesEndpoint.java
index 4ce61b3..75421db 100644
--- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/services/KubernetesServicesEndpoint.java
+++ b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/services/KubernetesServicesEndpoint.java
@@ -30,7 +30,7 @@ import org.slf4j.LoggerFactory;
  * and a consumer to consume service events.
  */
 @UriEndpoint(firstVersion = "2.17.0", scheme = "kubernetes-services", title = "Kubernetes Services",
-    syntax = "kubernetes-services:masterUrl", consumerClass = KubernetesServicesConsumer.class, label = "container,cloud,paas")
+    syntax = "kubernetes-services:masterUrl", label = "container,cloud,paas")
 public class KubernetesServicesEndpoint extends AbstractKubernetesEndpoint {
 
     public KubernetesServicesEndpoint(String uri, KubernetesServicesComponent component, KubernetesConfiguration config) {
diff --git a/components/camel-linkedin/camel-linkedin-component/src/main/java/org/apache/camel/component/linkedin/LinkedInEndpoint.java b/components/camel-linkedin/camel-linkedin-component/src/main/java/org/apache/camel/component/linkedin/LinkedInEndpoint.java
index 1122258..c63e8cd 100644
--- a/components/camel-linkedin/camel-linkedin-component/src/main/java/org/apache/camel/component/linkedin/LinkedInEndpoint.java
+++ b/components/camel-linkedin/camel-linkedin-component/src/main/java/org/apache/camel/component/linkedin/LinkedInEndpoint.java
@@ -52,7 +52,7 @@ import org.apache.cxf.jaxrs.client.WebClient;
  * The linkedin component is used for retrieving LinkedIn user profiles, connections, companies, groups, posts, etc.
  */
 @UriEndpoint(firstVersion = "2.14.0", scheme = "linkedin", title = "Linkedin", syntax = "linkedin:apiName/methodName", label = "api,cloud,social",
-        consumerClass = LinkedInConsumer.class, lenientProperties = true)
+        lenientProperties = true)
 public class LinkedInEndpoint extends AbstractApiEndpoint<LinkedInApiName, LinkedInConfiguration> {
 
     protected static final String FIELDS_OPTION = "fields";
diff --git a/components/camel-lumberjack/src/main/java/org/apache/camel/component/lumberjack/LumberjackEndpoint.java b/components/camel-lumberjack/src/main/java/org/apache/camel/component/lumberjack/LumberjackEndpoint.java
index 9111f59..9459f29 100644
--- a/components/camel-lumberjack/src/main/java/org/apache/camel/component/lumberjack/LumberjackEndpoint.java
+++ b/components/camel-lumberjack/src/main/java/org/apache/camel/component/lumberjack/LumberjackEndpoint.java
@@ -33,7 +33,7 @@ import org.apache.camel.support.jsse.SSLContextParameters;
 /**
  * The lumberjack retrieves logs sent over the network using the Lumberjack protocol.
  */
-@UriEndpoint(firstVersion = "2.18.0", scheme = "lumberjack", title = "Lumberjack", syntax = "lumberjack:host:port", consumerOnly = true, consumerClass = LumberjackConsumer.class, label = "log")
+@UriEndpoint(firstVersion = "2.18.0", scheme = "lumberjack", title = "Lumberjack", syntax = "lumberjack:host:port", consumerOnly = true, label = "log")
 public class LumberjackEndpoint extends DefaultEndpoint {
     @UriPath(description = "Network interface on which to listen for Lumberjack")
     @Metadata(required = true)
diff --git a/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailEndpoint.java b/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailEndpoint.java
index 41cd573..3f2d495 100644
--- a/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailEndpoint.java
+++ b/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailEndpoint.java
@@ -35,7 +35,7 @@ import org.apache.camel.spi.UriParam;
  */
 @UriEndpoint(firstVersion = "1.0.0", scheme = "imap,imaps,pop3,pop3s,smtp,smtps", title = "IMAP,IMAPS,POP3,POP3S,SMTP,SMTPS",
         syntax = "imap:host:port", alternativeSyntax = "imap:username:password@host:port",
-        consumerClass = MailConsumer.class, label = "mail")
+        label = "mail")
 public class MailEndpoint extends ScheduledPollEndpoint {
 
     @UriParam(optionalPrefix = "consumer.", defaultValue = "" + MailConsumer.DEFAULT_CONSUMER_DELAY, label = "consumer,scheduler",
diff --git a/components/camel-master/src/main/java/org/apache/camel/component/master/MasterEndpoint.java b/components/camel-master/src/main/java/org/apache/camel/component/master/MasterEndpoint.java
index 2d892f9..a903fe7 100644
--- a/components/camel-master/src/main/java/org/apache/camel/component/master/MasterEndpoint.java
+++ b/components/camel-master/src/main/java/org/apache/camel/component/master/MasterEndpoint.java
@@ -39,7 +39,6 @@ import org.apache.camel.spi.UriPath;
     firstVersion = "2.20.0",
     scheme = "master",
     syntax = "master:namespace:delegateUri",
-    consumerClass = MasterConsumer.class,
     consumerOnly = true,
     title = "Master",
     lenientProperties = true,
diff --git a/components/camel-milo/src/main/java/org/apache/camel/component/milo/client/MiloClientEndpoint.java b/components/camel-milo/src/main/java/org/apache/camel/component/milo/client/MiloClientEndpoint.java
index bbde597..715f86c 100644
--- a/components/camel-milo/src/main/java/org/apache/camel/component/milo/client/MiloClientEndpoint.java
+++ b/components/camel-milo/src/main/java/org/apache/camel/component/milo/client/MiloClientEndpoint.java
@@ -32,7 +32,7 @@ import org.eclipse.milo.opcua.stack.core.types.builtin.ExpandedNodeId;
  * Connect to OPC UA servers using the binary protocol for acquiring telemetry
  * data
  */
-@UriEndpoint(firstVersion = "2.19.0", scheme = "milo-client", syntax = "milo-client:endpointUri", title = "OPC UA Client", consumerClass = MiloClientConsumer.class, label = "iot")
+@UriEndpoint(firstVersion = "2.19.0", scheme = "milo-client", syntax = "milo-client:endpointUri", title = "OPC UA Client", label = "iot")
 public class MiloClientEndpoint extends DefaultEndpoint {
 
     /**
diff --git a/components/camel-milo/src/main/java/org/apache/camel/component/milo/server/MiloServerEndpoint.java b/components/camel-milo/src/main/java/org/apache/camel/component/milo/server/MiloServerEndpoint.java
index 8f0010b..618fdc9 100644
--- a/components/camel-milo/src/main/java/org/apache/camel/component/milo/server/MiloServerEndpoint.java
+++ b/components/camel-milo/src/main/java/org/apache/camel/component/milo/server/MiloServerEndpoint.java
@@ -30,7 +30,7 @@ import org.apache.camel.spi.UriPath;
 /**
  * Make telemetry data available as an OPC UA server
  */
-@UriEndpoint(firstVersion = "2.19.0", scheme = "milo-server", syntax = "milo-server:itemId", title = "OPC UA Server", consumerClass = MiloServerConsumer.class, label = "iot")
+@UriEndpoint(firstVersion = "2.19.0", scheme = "milo-server", syntax = "milo-server:itemId", title = "OPC UA Server", label = "iot")
 public class MiloServerEndpoint extends DefaultEndpoint {
 
     @UriPath
diff --git a/components/camel-mina2/src/main/java/org/apache/camel/component/mina2/Mina2Endpoint.java b/components/camel-mina2/src/main/java/org/apache/camel/component/mina2/Mina2Endpoint.java
index 7f1e953..63dc2fa 100644
--- a/components/camel-mina2/src/main/java/org/apache/camel/component/mina2/Mina2Endpoint.java
+++ b/components/camel-mina2/src/main/java/org/apache/camel/component/mina2/Mina2Endpoint.java
@@ -31,7 +31,7 @@ import org.apache.mina.core.session.IoSession;
 /**
  * Socket level networking using TCP or UDP with the Apache Mina 2.x library.
  */
-@UriEndpoint(firstVersion = "2.10.0", scheme = "mina2,mina", title = "Mina2", syntax = "mina2:protocol:host:port", consumerClass = Mina2Consumer.class, label = "networking,tcp,udp")
+@UriEndpoint(firstVersion = "2.10.0", scheme = "mina2,mina", title = "Mina2", syntax = "mina2:protocol:host:port", label = "networking,tcp,udp")
 public class Mina2Endpoint extends DefaultEndpoint implements MultipleConsumersSupport {
 
     @UriParam
diff --git a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpEndpoint.java b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpEndpoint.java
index e74aac7..8ffc609 100644
--- a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpEndpoint.java
+++ b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpEndpoint.java
@@ -46,7 +46,7 @@ import org.slf4j.Logger;
  * <p/>
  */
 @ManagedResource(description = "MLLP Endpoint")
-@UriEndpoint(scheme = "mllp", firstVersion = "2.17.0", title = "MLLP", syntax = "mllp:hostname:port", consumerClass = MllpTcpServerConsumer.class, label = "mllp")
+@UriEndpoint(scheme = "mllp", firstVersion = "2.17.0", title = "MLLP", syntax = "mllp:hostname:port", label = "mllp")
 public class MllpEndpoint extends DefaultEndpoint {
     // Use constants from MllpProtocolConstants
     @Deprecated()
diff --git a/components/camel-mongodb3/src/main/java/org/apache/camel/component/mongodb3/MongoDbEndpoint.java b/components/camel-mongodb3/src/main/java/org/apache/camel/component/mongodb3/MongoDbEndpoint.java
index db3d60e..40d0032 100644
--- a/components/camel-mongodb3/src/main/java/org/apache/camel/component/mongodb3/MongoDbEndpoint.java
+++ b/components/camel-mongodb3/src/main/java/org/apache/camel/component/mongodb3/MongoDbEndpoint.java
@@ -57,7 +57,7 @@ import static org.apache.camel.component.mongodb3.MongoDbOutputType.MongoIterabl
  * Component for working with documents stored in MongoDB database.
  */
 @UriEndpoint(firstVersion = "2.19.0", scheme = "mongodb3", title = "MongoDB", syntax = "mongodb3:connectionBean",
-    consumerClass = MongoDbTailableCursorConsumer.class, label = "database,nosql")
+    label = "database,nosql")
 public class MongoDbEndpoint extends DefaultEndpoint {
 
     private MongoClient mongoConnection;
diff --git a/components/camel-mqtt/src/main/java/org/apache/camel/component/mqtt/MQTTEndpoint.java b/components/camel-mqtt/src/main/java/org/apache/camel/component/mqtt/MQTTEndpoint.java
index 71b4f6f..40a54c8 100644
--- a/components/camel-mqtt/src/main/java/org/apache/camel/component/mqtt/MQTTEndpoint.java
+++ b/components/camel-mqtt/src/main/java/org/apache/camel/component/mqtt/MQTTEndpoint.java
@@ -59,7 +59,7 @@ import org.fusesource.mqtt.codec.UNSUBSCRIBE;
 /**
  * Component for communicating with MQTT M2M message brokers using FuseSource MQTT Client.
  */
-@UriEndpoint(firstVersion = "2.10.0", scheme = "mqtt", title = "MQTT", syntax = "mqtt:name", consumerClass = MQTTConsumer.class, label = "messaging,iot")
+@UriEndpoint(firstVersion = "2.10.0", scheme = "mqtt", title = "MQTT", syntax = "mqtt:name", label = "messaging,iot")
 public class MQTTEndpoint extends DefaultEndpoint implements AsyncEndpoint {
 
     private static final int PUBLISH_MAX_RECONNECT_ATTEMPTS = 3;
diff --git a/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisEndpoint.java b/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisEndpoint.java
index 1ec9707..d8ac856 100644
--- a/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisEndpoint.java
+++ b/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisEndpoint.java
@@ -29,7 +29,7 @@ import org.apache.camel.util.ObjectHelper;
 /**
  * Performs a query, poll, insert, update or delete in a relational database using MyBatis.
  */
-@UriEndpoint(firstVersion = "2.7.0", scheme = "mybatis", title = "MyBatis", syntax = "mybatis:statement", consumerClass = MyBatisConsumer.class, label = "database,sql")
+@UriEndpoint(firstVersion = "2.7.0", scheme = "mybatis", title = "MyBatis", syntax = "mybatis:statement", label = "database,sql")
 public class MyBatisEndpoint extends BaseMyBatisEndpoint {
 
     @UriPath @Metadata(required = true)
diff --git a/components/camel-nats/src/main/java/org/apache/camel/component/nats/NatsEndpoint.java b/components/camel-nats/src/main/java/org/apache/camel/component/nats/NatsEndpoint.java
index dcabfd7..13dbaa6 100644
--- a/components/camel-nats/src/main/java/org/apache/camel/component/nats/NatsEndpoint.java
+++ b/components/camel-nats/src/main/java/org/apache/camel/component/nats/NatsEndpoint.java
@@ -37,7 +37,7 @@ import org.apache.camel.spi.UriParam;
 /**
  * The nats component allows you produce and consume messages from <a href="http://nats.io/">NATS</a>.
  */
-@UriEndpoint(firstVersion = "2.17.0", scheme = "nats", title = "Nats", syntax = "nats:servers", label = "messaging", consumerClass = NatsConsumer.class)
+@UriEndpoint(firstVersion = "2.17.0", scheme = "nats", title = "Nats", syntax = "nats:servers", label = "messaging")
 public class NatsEndpoint extends DefaultEndpoint {
 
     @UriParam
diff --git a/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/NettyHttpEndpoint.java b/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/NettyHttpEndpoint.java
index 73ef023..b715df9 100644
--- a/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/NettyHttpEndpoint.java
+++ b/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/NettyHttpEndpoint.java
@@ -42,7 +42,7 @@ import org.apache.camel.util.StringHelper;
  * Netty HTTP server and client using the Netty 4.x library.
  */
 @UriEndpoint(firstVersion = "2.14.0", scheme = "netty4-http,netty-http", extendsScheme = "netty4", title = "Netty4 HTTP",
-        syntax = "netty4-http:protocol:host:port/path", consumerClass = NettyHttpConsumer.class, label = "http", lenientProperties = true,
+        syntax = "netty4-http:protocol:host:port/path",  label = "http", lenientProperties = true,
         excludeProperties = "textline,delimiter,autoAppendDelimiter,decoderMaxLineLength,encoding,allowDefaultCodec,udpConnectionlessSending,networkInterface"
                 + ",clientMode,reconnect,reconnectInterval,useByteBuf,udpByteArrayCodec,broadcast,correlationManager")
 public class NettyHttpEndpoint extends NettyEndpoint implements AsyncEndpoint, HeaderFilterStrategyAware {
diff --git a/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/NettyEndpoint.java b/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/NettyEndpoint.java
index 2eedc85..51609cd 100644
--- a/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/NettyEndpoint.java
+++ b/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/NettyEndpoint.java
@@ -40,7 +40,7 @@ import org.apache.camel.util.ObjectHelper;
 /**
  * Socket level networking using TCP or UDP with the Netty 4.x library.
  */
-@UriEndpoint(firstVersion = "2.14.0", scheme = "netty4,netty", title = "Netty4", syntax = "netty4:protocol:host:port", consumerClass = NettyConsumer.class, label = "networking,tcp,udp")
+@UriEndpoint(firstVersion = "2.14.0", scheme = "netty4,netty", title = "Netty4", syntax = "netty4:protocol:host:port", label = "networking,tcp,udp")
 public class NettyEndpoint extends DefaultEndpoint implements AsyncEndpoint {
     @UriParam
     private NettyConfiguration configuration;
diff --git a/components/camel-nsq/src/main/java/org/apache/camel/component/nsq/NsqEndpoint.java b/components/camel-nsq/src/main/java/org/apache/camel/component/nsq/NsqEndpoint.java
index e047c55..533d50f 100644
--- a/components/camel-nsq/src/main/java/org/apache/camel/component/nsq/NsqEndpoint.java
+++ b/components/camel-nsq/src/main/java/org/apache/camel/component/nsq/NsqEndpoint.java
@@ -35,7 +35,7 @@ import org.apache.camel.util.ObjectHelper;
 /**
  * Represents a nsq endpoint.
  */
-@UriEndpoint(firstVersion = "2.23.0", scheme = "nsq", title = "NSQ", syntax = "nsq:lookupServer", consumerClass = NsqConsumer.class, label = "messaging")
+@UriEndpoint(firstVersion = "2.23.0", scheme = "nsq", title = "NSQ", syntax = "nsq:lookupServer", label = "messaging")
 public class NsqEndpoint extends DefaultEndpoint {
 
     @UriParam
diff --git a/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Endpoint.java b/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Endpoint.java
index c59e11d..e980b89 100644
--- a/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Endpoint.java
+++ b/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Endpoint.java
@@ -38,7 +38,7 @@ import org.apache.camel.support.component.ApiMethodPropertiesHelper;
 /**
  * Communicates with OData 2.0 services using Apache Olingo.
  */
-@UriEndpoint(firstVersion = "2.14.0", scheme = "olingo2", title = "Olingo2", syntax = "olingo2:apiName/methodName", consumerClass = Olingo2Consumer.class, label = "cloud")
+@UriEndpoint(firstVersion = "2.14.0", scheme = "olingo2", title = "Olingo2", syntax = "olingo2:apiName/methodName", label = "cloud")
 public class Olingo2Endpoint extends AbstractApiEndpoint<Olingo2ApiName, Olingo2Configuration> {
 
     protected static final String RESOURCE_PATH_PROPERTY = "resourcePath";
diff --git a/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Endpoint.java b/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Endpoint.java
index 40693bc..dfd9e93 100644
--- a/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Endpoint.java
+++ b/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Endpoint.java
@@ -38,7 +38,7 @@ import org.apache.camel.support.component.ApiMethodPropertiesHelper;
 /**
  * Communicates with OData 4.0 services using Apache Olingo OData API.
  */
-@UriEndpoint(firstVersion = "2.19.0", scheme = "olingo4", title = "Olingo4", syntax = "olingo4:apiName/methodName", consumerClass = Olingo4Consumer.class, label = "cloud")
+@UriEndpoint(firstVersion = "2.19.0", scheme = "olingo4", title = "Olingo4", syntax = "olingo4:apiName/methodName", label = "cloud")
 public class Olingo4Endpoint extends AbstractApiEndpoint<Olingo4ApiName, Olingo4Configuration> {
 
     protected static final String RESOURCE_PATH_PROPERTY = "resourcePath";
diff --git a/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoEndpoint.java b/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoEndpoint.java
index 6756483..c6b3d65 100644
--- a/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoEndpoint.java
+++ b/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoEndpoint.java
@@ -39,7 +39,7 @@ import org.eclipse.paho.client.mqttv3.persist.MqttDefaultFilePersistence;
 /**
  * Component for communicating with MQTT M2M message brokers using Eclipse Paho MQTT Client.
  */
-@UriEndpoint(firstVersion = "2.16.0", scheme = "paho", title = "Paho", consumerClass = PahoConsumer.class, label = "messaging,iot", syntax = "paho:topic")
+@UriEndpoint(firstVersion = "2.16.0", scheme = "paho", title = "Paho", label = "messaging,iot", syntax = "paho:topic")
 public class PahoEndpoint extends DefaultEndpoint {
 
     // Configuration members
diff --git a/components/camel-paxlogging/src/main/java/org/apache/camel/component/paxlogging/PaxLoggingEndpoint.java b/components/camel-paxlogging/src/main/java/org/apache/camel/component/paxlogging/PaxLoggingEndpoint.java
index 5bcdfa6..bebdad5 100644
--- a/components/camel-paxlogging/src/main/java/org/apache/camel/component/paxlogging/PaxLoggingEndpoint.java
+++ b/components/camel-paxlogging/src/main/java/org/apache/camel/component/paxlogging/PaxLoggingEndpoint.java
@@ -29,7 +29,7 @@ import org.apache.camel.spi.UriPath;
  * The paxlogging component can be used in an OSGi environment to receive PaxLogging events and process them.
  */
 @UriEndpoint(firstVersion = "2.6.0", scheme = "paxlogging", title = "OSGi PAX Logging", syntax = "paxlogging:appender",
-    consumerOnly = true, consumerClass = PaxLoggingConsumer.class, label = "monitoring")
+    consumerOnly = true, label = "monitoring")
 public class PaxLoggingEndpoint extends DefaultEndpoint {
 
     @UriPath @Metadata(required = true)
diff --git a/components/camel-pgevent/src/main/java/org/apache/camel/component/pgevent/PgEventEndpoint.java b/components/camel-pgevent/src/main/java/org/apache/camel/component/pgevent/PgEventEndpoint.java
index f8a4440..7838c3e 100644
--- a/components/camel-pgevent/src/main/java/org/apache/camel/component/pgevent/PgEventEndpoint.java
+++ b/components/camel-pgevent/src/main/java/org/apache/camel/component/pgevent/PgEventEndpoint.java
@@ -38,7 +38,7 @@ import org.apache.camel.spi.UriPath;
  * This requires using PostgreSQL 8.3 or newer.
  */
 @UriEndpoint(firstVersion = "2.15.0", scheme = "pgevent", title = "PostgresSQL Event", syntax = "pgevent:host:port/database/channel",
-    consumerClass = PgEventConsumer.class, label = "database,sql")
+    label = "database,sql")
 public class PgEventEndpoint extends DefaultEndpoint {
 
     private static final String FORMAT1 = "^pgevent://([^:]*):(\\d+)/(\\w+)/(\\w+).*$";
diff --git a/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubEndpoint.java b/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubEndpoint.java
index 28b0b4c..3cd9958 100644
--- a/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubEndpoint.java
+++ b/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubEndpoint.java
@@ -31,7 +31,7 @@ import org.apache.camel.util.ObjectHelper;
  * To send and receive messages to PubNub data stream network for connected devices.
  */
 @UriEndpoint(firstVersion = "2.19.0", scheme = "pubnub", title = "PubNub", syntax = "pubnub:channel",
-    consumerClass = PubNubConsumer.class, label = "cloud,iot,messaging")
+    label = "cloud,iot,messaging")
 public class PubNubEndpoint extends DefaultEndpoint {
 
     @UriParam(label = "advanced")
diff --git a/components/camel-quartz2/src/main/java/org/apache/camel/component/quartz2/QuartzEndpoint.java b/components/camel-quartz2/src/main/java/org/apache/camel/component/quartz2/QuartzEndpoint.java
index ed52430..cfe4d21 100644
--- a/components/camel-quartz2/src/main/java/org/apache/camel/component/quartz2/QuartzEndpoint.java
+++ b/components/camel-quartz2/src/main/java/org/apache/camel/component/quartz2/QuartzEndpoint.java
@@ -54,7 +54,7 @@ import static org.quartz.SimpleScheduleBuilder.simpleSchedule;
 /**
  * Provides a scheduled delivery of messages using the Quartz 2.x scheduler.
  */
-@UriEndpoint(firstVersion = "2.12.0", scheme = "quartz2", title = "Quartz2", syntax = "quartz2:groupName/triggerName", consumerOnly = true, consumerClass = QuartzComponent.class, label = "scheduling")
+@UriEndpoint(firstVersion = "2.12.0", scheme = "quartz2", title = "Quartz2", syntax = "quartz2:groupName/triggerName", consumerOnly = true, label = "scheduling")
 public class QuartzEndpoint extends DefaultEndpoint {
 
     private TriggerKey triggerKey;
diff --git a/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEndpoint.java b/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEndpoint.java
index 93d3a76..c9be1a9 100644
--- a/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEndpoint.java
+++ b/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEndpoint.java
@@ -38,7 +38,7 @@ import quickfix.SessionID;
 /**
  * The quickfix component allows to send Financial Interchange (FIX) messages to the QuickFix engine.
  */
-@UriEndpoint(firstVersion = "2.1.0", scheme = "quickfix", title = "QuickFix", syntax = "quickfix:configurationName", consumerClass = QuickfixjConsumer.class, label = "engine,messaging")
+@UriEndpoint(firstVersion = "2.1.0", scheme = "quickfix", title = "QuickFix", syntax = "quickfix:configurationName", label = "messaging")
 public class QuickfixjEndpoint extends DefaultEndpoint implements QuickfixjEventListener, MultipleConsumersSupport {
     public static final String EVENT_CATEGORY_KEY = "EventCategory";
     public static final String SESSION_ID_KEY = "SessionID";
diff --git a/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQEndpoint.java b/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQEndpoint.java
index 5688204..c0b26ed 100644
--- a/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQEndpoint.java
+++ b/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQEndpoint.java
@@ -51,7 +51,7 @@ import static org.apache.camel.component.rabbitmq.RabbitMQComponent.QUEUE_ARG_PR
  * The rabbitmq component allows you produce and consume messages from
  * <a href="http://www.rabbitmq.com/">RabbitMQ</a> instances.
  */
-@UriEndpoint(firstVersion = "2.12.0", scheme = "rabbitmq", title = "RabbitMQ", syntax = "rabbitmq:exchangeName", consumerClass = RabbitMQConsumer.class, label = "messaging")
+@UriEndpoint(firstVersion = "2.12.0", scheme = "rabbitmq", title = "RabbitMQ", syntax = "rabbitmq:exchangeName", label = "messaging")
 public class RabbitMQEndpoint extends DefaultEndpoint implements AsyncEndpoint {
     // header to indicate that the message body needs to be de-serialized
     public static final String SERIALIZE_HEADER = "CamelSerialize";
diff --git a/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/ReactiveStreamsEndpoint.java b/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/ReactiveStreamsEndpoint.java
index cc31b20..51b53d2 100644
--- a/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/ReactiveStreamsEndpoint.java
+++ b/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/ReactiveStreamsEndpoint.java
@@ -31,7 +31,7 @@ import org.apache.camel.spi.UriPath;
  * Reactive Camel using reactive streams
  */
 @UriEndpoint(firstVersion = "2.19.0", scheme = "reactive-streams", title = "Reactive Streams", syntax = "reactive-streams:stream",
-        consumerClass = ReactiveStreamsConsumer.class, label = "reactive,streams")
+        label = "reactive,streams")
 @ManagedResource(description = "Managed ReactiveStreamsEndpoint")
 public class ReactiveStreamsEndpoint extends DefaultEndpoint {
 
diff --git a/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/RestletEndpoint.java b/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/RestletEndpoint.java
index 4100782..4e6e2fd 100644
--- a/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/RestletEndpoint.java
+++ b/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/RestletEndpoint.java
@@ -41,7 +41,7 @@ import org.restlet.data.Method;
  * Component for consuming and producing Restful resources using Restlet.
  */
 @UriEndpoint(firstVersion = "2.0.0", scheme = "restlet", title = "Restlet", syntax = "restlet:protocol:host:port/uriPattern",
-        consumerClass = RestletConsumer.class, label = "rest", lenientProperties = true)
+        label = "rest", lenientProperties = true)
 public class RestletEndpoint extends DefaultEndpoint implements AsyncEndpoint, HeaderFilterStrategyAware {
     private static final int DEFAULT_PORT = 80;
     private static final String DEFAULT_PROTOCOL = "http";
diff --git a/components/camel-rmi/src/main/java/org/apache/camel/component/rmi/RmiEndpoint.java b/components/camel-rmi/src/main/java/org/apache/camel/component/rmi/RmiEndpoint.java
index 213ef26..3d873b2 100644
--- a/components/camel-rmi/src/main/java/org/apache/camel/component/rmi/RmiEndpoint.java
+++ b/components/camel-rmi/src/main/java/org/apache/camel/component/rmi/RmiEndpoint.java
@@ -37,7 +37,7 @@ import org.apache.camel.util.ObjectHelper;
 /**
  * The rmi component is for invoking Java RMI beans from Camel.
  */
-@UriEndpoint(firstVersion = "1.0.0", scheme = "rmi", title = "RMI", syntax = "rmi:hostname:port/name", consumerClass = RmiConsumer.class, label = "messaging")
+@UriEndpoint(firstVersion = "1.0.0", scheme = "rmi", title = "RMI", syntax = "rmi:hostname:port/name", label = "messaging")
 public class RmiEndpoint extends DefaultEndpoint {
 
     private ClassLoader classLoader;
diff --git a/components/camel-rss/src/main/java/org/apache/camel/component/rss/RssEndpoint.java b/components/camel-rss/src/main/java/org/apache/camel/component/rss/RssEndpoint.java
index 3d159b1..bb418dc 100644
--- a/components/camel-rss/src/main/java/org/apache/camel/component/rss/RssEndpoint.java
+++ b/components/camel-rss/src/main/java/org/apache/camel/component/rss/RssEndpoint.java
@@ -34,7 +34,7 @@ import org.slf4j.LoggerFactory;
  * The rss component is used for consuming RSS feeds.
  */
 @UriEndpoint(firstVersion = "2.0.0", scheme = "rss", extendsScheme = "atom", title = "RSS",
-        syntax = "rss:feedUri", consumerOnly = true, consumerClass = RssEntryPollingConsumer.class, label = "rss", lenientProperties = true)
+        syntax = "rss:feedUri", consumerOnly = true, label = "rss", lenientProperties = true)
 public class RssEndpoint extends FeedEndpoint {
     protected static final Logger LOG = LoggerFactory.getLogger(RssEndpoint.class);
 
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceEndpoint.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceEndpoint.java
index e815255..c0a6feb 100644
--- a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceEndpoint.java
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceEndpoint.java
@@ -31,7 +31,7 @@ import org.eclipse.jetty.client.HttpClient;
 /**
  * The salesforce component is used for integrating Camel with the massive Salesforce API.
  */
-@UriEndpoint(firstVersion = "2.12.0", scheme = "salesforce", title = "Salesforce", syntax = "salesforce:operationName:topicName", label = "api,cloud,crm", consumerClass = SalesforceConsumer.class)
+@UriEndpoint(firstVersion = "2.12.0", scheme = "salesforce", title = "Salesforce", syntax = "salesforce:operationName:topicName", label = "api,cloud,crm")
 public class SalesforceEndpoint extends DefaultEndpoint {
 
     @UriPath(label = "producer", description = "The operation to use", enums = "getVersions,getResources,"
diff --git a/components/camel-service/src/main/java/org/apache/camel/component/service/ServiceEndpoint.java b/components/camel-service/src/main/java/org/apache/camel/component/service/ServiceEndpoint.java
index 99ccd32..ae1cc06 100644
--- a/components/camel-service/src/main/java/org/apache/camel/component/service/ServiceEndpoint.java
+++ b/components/camel-service/src/main/java/org/apache/camel/component/service/ServiceEndpoint.java
@@ -44,7 +44,6 @@ import org.apache.camel.spi.UriPath;
     firstVersion = "2.22.0",
     scheme = "service",
     syntax = "service:serviceName:delegateUri",
-    consumerClass = ServiceConsumer.class,
     consumerOnly = true,
     title = "Service",
     lenientProperties = true,
diff --git a/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletEndpoint.java b/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletEndpoint.java
index 308f4cf..e9823e8 100644
--- a/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletEndpoint.java
+++ b/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletEndpoint.java
@@ -35,7 +35,7 @@ import org.apache.camel.spi.UriPath;
  * To use a HTTP Servlet as entry for Camel routes when running in a servlet container.
  */
 @UriEndpoint(firstVersion = "2.0.0", scheme = "servlet", extendsScheme = "http", title = "Servlet",
-        syntax = "servlet:contextPath", consumerOnly = true, consumerClass = ServletConsumer.class, label = "http")
+        syntax = "servlet:contextPath", consumerOnly = true, label = "http")
 public class ServletEndpoint extends HttpCommonEndpoint {
 
     private HttpBinding binding;
diff --git a/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsEndpoint.java b/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsEndpoint.java
index cc1515b..19299b7 100644
--- a/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsEndpoint.java
+++ b/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsEndpoint.java
@@ -62,7 +62,7 @@ import org.slf4j.LoggerFactory;
  *
  * This component uses plain JMS API where as the jms component uses Spring JMS.
  */
-@UriEndpoint(firstVersion = "2.11.0", scheme = "sjms", title = "Simple JMS", syntax = "sjms:destinationType:destinationName", consumerClass = SjmsConsumer.class, label = "messaging")
+@UriEndpoint(firstVersion = "2.11.0", scheme = "sjms", title = "Simple JMS", syntax = "sjms:destinationType:destinationName", label = "messaging")
 public class SjmsEndpoint extends DefaultEndpoint implements AsyncEndpoint, MultipleConsumersSupport, HeaderFilterStrategyAware {
     protected final Logger logger = LoggerFactory.getLogger(getClass());
 
diff --git a/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/batch/SjmsBatchEndpoint.java b/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/batch/SjmsBatchEndpoint.java
index b596f9a..a797c5e 100644
--- a/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/batch/SjmsBatchEndpoint.java
+++ b/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/batch/SjmsBatchEndpoint.java
@@ -48,7 +48,7 @@ import org.apache.camel.support.DefaultEndpoint;
  * The sjms-batch component is a specialized for highly performant, transactional batch consumption from a JMS queue.
  */
 @UriEndpoint(firstVersion = "2.16.0", scheme = "sjms-batch", title = "Simple JMS Batch", syntax = "sjms-batch:destinationName",
-        consumerClass = SjmsBatchComponent.class, label = "messaging", consumerOnly = true)
+        label = "messaging", consumerOnly = true)
 public class SjmsBatchEndpoint extends DefaultEndpoint implements HeaderFilterStrategyAware {
 
     public static final int DEFAULT_COMPLETION_SIZE = 200; // the default dispatch queue size in ActiveMQ
diff --git a/components/camel-sjms2/src/main/java/org/apache/camel/component/sjms2/Sjms2Endpoint.java b/components/camel-sjms2/src/main/java/org/apache/camel/component/sjms2/Sjms2Endpoint.java
index 4fbe07a..e96b9ab 100644
--- a/components/camel-sjms2/src/main/java/org/apache/camel/component/sjms2/Sjms2Endpoint.java
+++ b/components/camel-sjms2/src/main/java/org/apache/camel/component/sjms2/Sjms2Endpoint.java
@@ -30,7 +30,7 @@ import org.apache.camel.spi.UriParam;
  * This component uses plain JMS 2.x API where as the jms component uses Spring JMS.
  */
 @UriEndpoint(firstVersion = "2.19.0", scheme = "sjms2", extendsScheme = "sjms", title = "Simple JMS2",
-        syntax = "sjms2:destinationType:destinationName", consumerClass = SjmsConsumer.class, label = "messaging")
+        syntax = "sjms2:destinationType:destinationName", label = "messaging")
 public class Sjms2Endpoint extends SjmsEndpoint implements AsyncEndpoint {
 
     @UriParam(label = "consumer")
diff --git a/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppEndpoint.java b/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppEndpoint.java
index 9d3f36d..cdea0e0 100644
--- a/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppEndpoint.java
+++ b/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppEndpoint.java
@@ -33,7 +33,7 @@ import org.jsmpp.bean.DeliverSm;
  * To send and receive SMS using a SMSC (Short Message Service Center).
  */
 @UriEndpoint(firstVersion = "2.2.0", scheme = "smpp,smpps", title = "SMPP", syntax = "smpp:host:port",
-        consumerClass = SmppConsumer.class, label = "mobile", lenientProperties = true)
+        label = "mobile", lenientProperties = true)
 public class SmppEndpoint extends DefaultEndpoint {
 
     private SmppBinding binding;
diff --git a/components/camel-spark-rest/src/main/java/org/apache/camel/component/sparkrest/SparkEndpoint.java b/components/camel-spark-rest/src/main/java/org/apache/camel/component/sparkrest/SparkEndpoint.java
index 73dc29b..7b011b7 100644
--- a/components/camel-spark-rest/src/main/java/org/apache/camel/component/sparkrest/SparkEndpoint.java
+++ b/components/camel-spark-rest/src/main/java/org/apache/camel/component/sparkrest/SparkEndpoint.java
@@ -31,7 +31,7 @@ import spark.route.HttpMethod;
 /**
  * The spark-rest component is used for hosting REST services which has been defined using Camel rest-dsl.
  */
-@UriEndpoint(firstVersion = "2.14.0", scheme = "spark-rest", title = "Spark Rest", syntax = "spark-rest:verb:path", consumerOnly = true, consumerClass =  SparkConsumer.class, label = "rest")
+@UriEndpoint(firstVersion = "2.14.0", scheme = "spark-rest", title = "Spark Rest", syntax = "spark-rest:verb:path", consumerOnly = true, label = "rest")
 public class SparkEndpoint extends DefaultEndpoint {
     @UriPath(enums = "get,post,put,patch,delete,head,trace,connect,options") @Metadata(required = true)
     private String verb;
diff --git a/components/camel-splunk/src/main/java/org/apache/camel/component/splunk/SplunkEndpoint.java b/components/camel-splunk/src/main/java/org/apache/camel/component/splunk/SplunkEndpoint.java
index d80d684..c018922 100644
--- a/components/camel-splunk/src/main/java/org/apache/camel/component/splunk/SplunkEndpoint.java
+++ b/components/camel-splunk/src/main/java/org/apache/camel/component/splunk/SplunkEndpoint.java
@@ -32,7 +32,7 @@ import org.apache.camel.spi.UriParam;
 /**
  * The splunk component allows to publish or search for events in Splunk.
  */
-@UriEndpoint(firstVersion = "2.13.0", scheme = "splunk", title = "Splunk", syntax = "splunk:name", consumerClass = SplunkConsumer.class, label = "log,monitoring")
+@UriEndpoint(firstVersion = "2.13.0", scheme = "splunk", title = "Splunk", syntax = "splunk:name", label = "log,monitoring")
 public class SplunkEndpoint extends ScheduledPollEndpoint {
 
     private static final Pattern SPLUNK_SCHEMA_PATTERN = Pattern.compile("splunk:(//)*");
diff --git a/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationEndpoint.java b/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationEndpoint.java
index 368e3dc..bac51b5 100644
--- a/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationEndpoint.java
+++ b/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationEndpoint.java
@@ -31,7 +31,7 @@ import org.springframework.messaging.MessageChannel;
  * Bridges Camel with Spring Integration.
  */
 @UriEndpoint(firstVersion = "1.4.0", scheme = "spring-integration", title = "Spring Integration", syntax = "spring-integration:defaultChannel",
-        consumerClass = SpringIntegrationConsumer.class, label = "spring,eventbus")
+        label = "spring,eventbus")
 public class SpringIntegrationEndpoint extends DefaultEndpoint {
     private MessageChannel messageChannel;
     @UriPath @Metadata(required = true)
diff --git a/components/camel-spring-redis/src/main/java/org/apache/camel/component/redis/RedisEndpoint.java b/components/camel-spring-redis/src/main/java/org/apache/camel/component/redis/RedisEndpoint.java
index 2aace71..b180187 100644
--- a/components/camel-spring-redis/src/main/java/org/apache/camel/component/redis/RedisEndpoint.java
+++ b/components/camel-spring-redis/src/main/java/org/apache/camel/component/redis/RedisEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.spi.UriParam;
 /**
  * The spring-redis component allows sending and receiving messages from Redis.
  */
-@UriEndpoint(firstVersion = "2.11.0", scheme = "spring-redis", title = "Spring Redis", syntax = "spring-redist:host:port", consumerClass = RedisConsumer.class, label = "spring,nosql")
+@UriEndpoint(firstVersion = "2.11.0", scheme = "spring-redis", title = "Spring Redis", syntax = "spring-redist:host:port", label = "spring,nosql")
 public class RedisEndpoint extends DefaultEndpoint {
 
     @UriParam
diff --git a/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceEndpoint.java b/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceEndpoint.java
index 925d0fd..2f3411e 100644
--- a/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceEndpoint.java
+++ b/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceEndpoint.java
@@ -29,7 +29,7 @@ import org.apache.camel.spi.UriParam;
  */
 @UriEndpoint(firstVersion = "2.6.0", scheme = "spring-ws", title = "Spring WebService",
         syntax = "spring-ws:type:lookupKey:webServiceEndpointUri",
-        consumerClass = SpringWebserviceConsumer.class, label = "soap,webservice")
+        label = "spring,soap,webservice")
 public class SpringWebserviceEndpoint extends DefaultEndpoint {
 
     @UriParam
diff --git a/components/camel-spring/src/main/java/org/apache/camel/component/event/EventEndpoint.java b/components/camel-spring/src/main/java/org/apache/camel/component/event/EventEndpoint.java
index d8aa7f1..45a1e86 100644
--- a/components/camel-spring/src/main/java/org/apache/camel/component/event/EventEndpoint.java
+++ b/components/camel-spring/src/main/java/org/apache/camel/component/event/EventEndpoint.java
@@ -36,7 +36,7 @@ import static org.apache.camel.RuntimeCamelException.wrapRuntimeCamelException;
 /**
  * The spring-event component allows to listen for Spring Application Events.
  */
-@UriEndpoint(firstVersion = "1.4.0", scheme = "spring-event", title = "Spring Event", syntax = "spring-event:name", consumerClass = EventConsumer.class, label = "spring,eventbus")
+@UriEndpoint(firstVersion = "1.4.0", scheme = "spring-event", title = "Spring Event", syntax = "spring-event:name", label = "spring,eventbus")
 public class EventEndpoint extends DefaultEndpoint implements ApplicationContextAware {
     private LoadBalancer loadBalancer;
     private ApplicationContext applicationContext;
diff --git a/components/camel-sql/src/main/java/org/apache/camel/component/sql/SqlEndpoint.java b/components/camel-sql/src/main/java/org/apache/camel/component/sql/SqlEndpoint.java
index d0a33e0..9409185 100644
--- a/components/camel-sql/src/main/java/org/apache/camel/component/sql/SqlEndpoint.java
+++ b/components/camel-sql/src/main/java/org/apache/camel/component/sql/SqlEndpoint.java
@@ -29,7 +29,7 @@ import org.springframework.jdbc.core.JdbcTemplate;
 /**
  * The sql component allows you to work with databases using JDBC SQL queries.
  */
-@UriEndpoint(firstVersion = "1.4.0", scheme = "sql", title = "SQL", syntax = "sql:query", consumerClass = SqlConsumer.class, label = "database,sql")
+@UriEndpoint(firstVersion = "1.4.0", scheme = "sql", title = "SQL", syntax = "sql:query", label = "database,sql")
 public class SqlEndpoint extends DefaultSqlEndpoint {
 
     @UriPath(description = "Sets the SQL query to perform. You can externalize the query by using file: or classpath: as prefix and specify the location of the file.")
diff --git a/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshEndpoint.java b/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshEndpoint.java
index 79735a3..cc58100 100644
--- a/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshEndpoint.java
+++ b/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshEndpoint.java
@@ -30,7 +30,7 @@ import org.slf4j.LoggerFactory;
  * The ssh component enables access to SSH servers such that you can send an SSH
  * command, and process the response.
  */
-@UriEndpoint(firstVersion = "2.10.0", scheme = "ssh", title = "SSH", syntax = "ssh:host:port", alternativeSyntax = "ssh:username:password@host:port", consumerClass = SshConsumer.class, label = "file")
+@UriEndpoint(firstVersion = "2.10.0", scheme = "ssh", title = "SSH", syntax = "ssh:host:port", alternativeSyntax = "ssh:username:password@host:port", label = "file")
 public class SshEndpoint extends ScheduledPollEndpoint {
     protected final Logger log = LoggerFactory.getLogger(getClass());
 
diff --git a/components/camel-stomp/src/main/java/org/apache/camel/component/stomp/StompEndpoint.java b/components/camel-stomp/src/main/java/org/apache/camel/component/stomp/StompEndpoint.java
index d1eb041..67006e1 100644
--- a/components/camel-stomp/src/main/java/org/apache/camel/component/stomp/StompEndpoint.java
+++ b/components/camel-stomp/src/main/java/org/apache/camel/component/stomp/StompEndpoint.java
@@ -54,7 +54,7 @@ import static org.fusesource.stomp.client.Constants.UNSUBSCRIBE;
 /**
  * The stomp component is used for communicating with Stomp compliant message brokers.
  */
-@UriEndpoint(firstVersion = "2.12.0", scheme = "stomp", title = "Stomp", syntax = "stomp:destination", consumerClass = StompConsumer.class, label = "messaging")
+@UriEndpoint(firstVersion = "2.12.0", scheme = "stomp", title = "Stomp", syntax = "stomp:destination", label = "messaging")
 public class StompEndpoint extends DefaultEndpoint implements AsyncEndpoint, HeaderFilterStrategyAware {
 
     @UriPath(description = "Name of the queue") @Metadata(required = true)
diff --git a/components/camel-stream/src/main/java/org/apache/camel/component/stream/StreamEndpoint.java b/components/camel-stream/src/main/java/org/apache/camel/component/stream/StreamEndpoint.java
index e9759a7..de52011 100644
--- a/components/camel-stream/src/main/java/org/apache/camel/component/stream/StreamEndpoint.java
+++ b/components/camel-stream/src/main/java/org/apache/camel/component/stream/StreamEndpoint.java
@@ -33,7 +33,7 @@ import org.apache.camel.spi.UriPath;
 /**
  * The stream: component provides access to the system-in, system-out and system-err streams as well as allowing streaming of file and URL.
  */
-@UriEndpoint(firstVersion = "1.3.0", scheme = "stream", title = "Stream", syntax = "stream:kind", consumerClass = StreamConsumer.class, label = "file,system")
+@UriEndpoint(firstVersion = "1.3.0", scheme = "stream", title = "Stream", syntax = "stream:kind", label = "file,system")
 public class StreamEndpoint extends DefaultEndpoint {
 
     private transient Charset charset;
diff --git a/components/camel-telegram/src/main/java/org/apache/camel/component/telegram/TelegramEndpoint.java b/components/camel-telegram/src/main/java/org/apache/camel/component/telegram/TelegramEndpoint.java
index 3871b91..084606d 100644
--- a/components/camel-telegram/src/main/java/org/apache/camel/component/telegram/TelegramEndpoint.java
+++ b/components/camel-telegram/src/main/java/org/apache/camel/component/telegram/TelegramEndpoint.java
@@ -29,7 +29,7 @@ import org.apache.camel.support.ScheduledPollEndpoint;
 /**
  * The telegram component provides access to the <a href="https://core.telegram.org/bots/api">Telegram Bot API</a>.
  */
-@UriEndpoint(firstVersion = "2.18.0", scheme = "telegram", title = "Telegram", syntax = "telegram:type/authorizationToken", consumerClass = TelegramConsumer.class, label = "chat")
+@UriEndpoint(firstVersion = "2.18.0", scheme = "telegram", title = "Telegram", syntax = "telegram:type/authorizationToken", label = "chat")
 public class TelegramEndpoint extends ScheduledPollEndpoint {
 
     @UriParam
diff --git a/components/camel-twilio/src/main/java/org/apache/camel/component/twilio/TwilioEndpoint.java b/components/camel-twilio/src/main/java/org/apache/camel/component/twilio/TwilioEndpoint.java
index 8270e75..640e052 100644
--- a/components/camel-twilio/src/main/java/org/apache/camel/component/twilio/TwilioEndpoint.java
+++ b/components/camel-twilio/src/main/java/org/apache/camel/component/twilio/TwilioEndpoint.java
@@ -42,7 +42,7 @@ import org.apache.camel.support.component.ApiMethodPropertiesHelper;
  * The Twilio component allows you to interact with the Twilio REST APIs using Twilio Java SDK.
  */
 @UriEndpoint(firstVersion = "2.20.0", scheme = "twilio", title = "Twilio", syntax = "twilio:apiName/methodName",
-    consumerClass = TwilioConsumer.class, label = "api,messaging,cloud")
+    label = "api,messaging,cloud")
 public class TwilioEndpoint extends AbstractApiEndpoint<TwilioApiName, TwilioConfiguration> {
 
     protected static final Map<String, String> EXECUTOR_METHOD_MAP;
diff --git a/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/directmessage/TwitterDirectMessageEndpoint.java b/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/directmessage/TwitterDirectMessageEndpoint.java
index 9fa76ec..35535ce 100644
--- a/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/directmessage/TwitterDirectMessageEndpoint.java
+++ b/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/directmessage/TwitterDirectMessageEndpoint.java
@@ -30,7 +30,7 @@ import org.apache.camel.spi.UriPath;
  * The Twitter Direct Message Component consumes/produces user's direct messages.
  */
 @UriEndpoint(firstVersion = "2.10.0", scheme = "twitter-directmessage", title = "Twitter Direct Message", syntax = "twitter-directmessage:user",
-    consumerClass = DirectMessageConsumerHandler.class, label = "api,social")
+    label = "api,social")
 public class TwitterDirectMessageEndpoint extends AbstractTwitterEndpoint {
 
     @UriPath(description = "The user name to send a direct message. This will be ignored for consumer.")
diff --git a/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/search/TwitterSearchEndpoint.java b/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/search/TwitterSearchEndpoint.java
index cd978b0..11cbb33 100644
--- a/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/search/TwitterSearchEndpoint.java
+++ b/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/search/TwitterSearchEndpoint.java
@@ -30,7 +30,7 @@ import org.apache.camel.spi.UriPath;
  * The Twitter Search component consumes search results.
  */
 @UriEndpoint(firstVersion = "2.10.0", scheme = "twitter-search", title = "Twitter Search", syntax = "twitter-search:keywords",
-    consumerClass = SearchConsumerHandler.class, label = "api,social")
+    label = "api,social")
 public class TwitterSearchEndpoint extends AbstractTwitterEndpoint {
 
     @UriPath(description = "The search keywords. Multiple values can be separated with comma.")
diff --git a/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/streaming/TwitterStreamingEndpoint.java b/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/streaming/TwitterStreamingEndpoint.java
index 1aba984..191df09 100644
--- a/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/streaming/TwitterStreamingEndpoint.java
+++ b/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/streaming/TwitterStreamingEndpoint.java
@@ -33,7 +33,7 @@ import org.apache.camel.spi.UriPath;
  * The Twitter Streaming component consumes twitter statuses using Streaming API.
  */
 @UriEndpoint(firstVersion = "2.10.0", scheme = "twitter-streaming", title = "Twitter Streaming", syntax = "twitter-streaming:streamingType",
-    consumerClass = AbstractStreamingConsumerHandler.class, consumerOnly = true, label = "api,social")
+    consumerOnly = true, label = "api,social")
 public class TwitterStreamingEndpoint extends AbstractTwitterEndpoint {
 
     @UriPath(description = "The streaming type to consume.")
diff --git a/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/timeline/TwitterTimelineEndpoint.java b/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/timeline/TwitterTimelineEndpoint.java
index c940ee1..7ee22cf 100644
--- a/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/timeline/TwitterTimelineEndpoint.java
+++ b/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/timeline/TwitterTimelineEndpoint.java
@@ -33,7 +33,7 @@ import org.apache.camel.spi.UriPath;
  * The Twitter Timeline component consumes twitter timeline or update the status of specific user.
  */
 @UriEndpoint(firstVersion = "2.10.0", scheme = "twitter-timeline", title = "Twitter Timeline", syntax = "twitter-timeline:timelineType",
-    consumerClass = AbstractStatusConsumerHandler.class, label = "api,social")
+    label = "api,social")
 public class TwitterTimelineEndpoint extends AbstractTwitterEndpoint {
 
     @UriPath(description = "The timeline type to produce/consume.")
diff --git a/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowEndpoint.java b/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowEndpoint.java
index 6f65569..f440912 100644
--- a/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowEndpoint.java
+++ b/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowEndpoint.java
@@ -52,7 +52,7 @@ import org.xnio.Options;
  * The undertow component provides HTTP and WebSocket based endpoints for consuming and producing HTTP/WebSocket requests.
  */
 @UriEndpoint(firstVersion = "2.16.0", scheme = "undertow", title = "Undertow", syntax = "undertow:httpURI",
-        consumerClass = UndertowConsumer.class, label = "http,websocket", lenientProperties = true)
+        label = "http,websocket", lenientProperties = true)
 public class UndertowEndpoint extends DefaultEndpoint implements AsyncEndpoint, HeaderFilterStrategyAware, DiscoverableService {
 
     private UndertowComponent component;
diff --git a/components/camel-vertx/src/main/java/org/apache/camel/component/vertx/VertxEndpoint.java b/components/camel-vertx/src/main/java/org/apache/camel/component/vertx/VertxEndpoint.java
index 9ba9e4a..4cd9b0c 100644
--- a/components/camel-vertx/src/main/java/org/apache/camel/component/vertx/VertxEndpoint.java
+++ b/components/camel-vertx/src/main/java/org/apache/camel/component/vertx/VertxEndpoint.java
@@ -32,7 +32,7 @@ import org.apache.camel.spi.UriPath;
 /**
  * The vertx component is used for sending and receive messages from a vertx event bus.
  */
-@UriEndpoint(firstVersion = "2.12.0", scheme = "vertx", title = "Vert.x", syntax = "vertx:address", consumerClass = VertxConsumer.class, label = "eventbus,reactive")
+@UriEndpoint(firstVersion = "2.12.0", scheme = "vertx", title = "Vert.x", syntax = "vertx:address", label = "eventbus,reactive")
 public class VertxEndpoint extends DefaultEndpoint implements AsyncEndpoint, MultipleConsumersSupport {
 
     @UriPath @Metadata(required = true)
diff --git a/components/camel-weather/src/main/java/org/apache/camel/component/weather/WeatherEndpoint.java b/components/camel-weather/src/main/java/org/apache/camel/component/weather/WeatherEndpoint.java
index 2ee54a4..0c6299b 100644
--- a/components/camel-weather/src/main/java/org/apache/camel/component/weather/WeatherEndpoint.java
+++ b/components/camel-weather/src/main/java/org/apache/camel/component/weather/WeatherEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.spi.UriParam;
 /**
  * Polls the weather information from Open Weather Map.
  */
-@UriEndpoint(firstVersion = "2.12.0", scheme = "weather", title = "Weather", syntax = "weather:name", consumerClass = WeatherConsumer.class, label = "api")
+@UriEndpoint(firstVersion = "2.12.0", scheme = "weather", title = "Weather", syntax = "weather:name", label = "api")
 public class WeatherEndpoint extends DefaultPollingEndpoint {
 
     @UriParam
diff --git a/components/camel-web3j/src/main/java/org/apache/camel/component/web3j/Web3jEndpoint.java b/components/camel-web3j/src/main/java/org/apache/camel/component/web3j/Web3jEndpoint.java
index b1c55da..08dbd5b 100644
--- a/components/camel-web3j/src/main/java/org/apache/camel/component/web3j/Web3jEndpoint.java
+++ b/components/camel-web3j/src/main/java/org/apache/camel/component/web3j/Web3jEndpoint.java
@@ -43,7 +43,7 @@ import org.web3j.quorum.Quorum;
  * The web3j component uses the Web3j client API and allows you to add/read nodes to/from a web3j compliant content repositories.
  */
 @UriEndpoint(firstVersion = "2.22.0", scheme = "web3j", title = "Web3j Ethereum Blockchain", syntax = "web3j:nodeAddress",
-    consumerClass = Web3jConsumer.class, label = "bitcoin,blockchain")
+    label = "bitcoin,blockchain")
 public class Web3jEndpoint extends DefaultEndpoint {
     private static final Logger LOG = LoggerFactory.getLogger(Web3jEndpoint.class);
 
diff --git a/components/camel-websocket-jsr356/src/main/java/org/apache/camel/websocket/jsr356/JSR356Endpoint.java b/components/camel-websocket-jsr356/src/main/java/org/apache/camel/websocket/jsr356/JSR356Endpoint.java
index 199a7f5..c6cd4b1 100644
--- a/components/camel-websocket-jsr356/src/main/java/org/apache/camel/websocket/jsr356/JSR356Endpoint.java
+++ b/components/camel-websocket-jsr356/src/main/java/org/apache/camel/websocket/jsr356/JSR356Endpoint.java
@@ -24,7 +24,7 @@ import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriPath;
 
-@UriEndpoint(firstVersion = "2.23.0", scheme = "websocket-jsr356", title = "Javax Websocket", syntax = "websocket-jsr356:/resourceUri", consumerClass = JSR356Consumer.class, label = "jsr356")
+@UriEndpoint(firstVersion = "2.23.0", scheme = "websocket-jsr356", title = "Javax Websocket", syntax = "websocket-jsr356:/resourceUri", label = "jsr356")
 public class JSR356Endpoint extends DefaultEndpoint {
     @UriPath(description = "If a path (/foo) it will deploy locally the endpoint, " + "if an uri it will connect to the corresponding server")
     private String websocketPathOrUri;
diff --git a/components/camel-websocket/src/main/java/org/apache/camel/component/websocket/WebsocketEndpoint.java b/components/camel-websocket/src/main/java/org/apache/camel/component/websocket/WebsocketEndpoint.java
index 63b4df3..6ebf873 100644
--- a/components/camel-websocket/src/main/java/org/apache/camel/component/websocket/WebsocketEndpoint.java
+++ b/components/camel-websocket/src/main/java/org/apache/camel/component/websocket/WebsocketEndpoint.java
@@ -38,7 +38,7 @@ import org.eclipse.jetty.server.Handler;
  *
  * This component uses Jetty as the websocket implementation.
  */
-@UriEndpoint(firstVersion = "2.10.0", scheme = "websocket", title = "Jetty Websocket", syntax = "websocket:host:port/resourceUri", consumerClass = WebsocketConsumer.class, label = "websocket")
+@UriEndpoint(firstVersion = "2.10.0", scheme = "websocket", title = "Jetty Websocket", syntax = "websocket:host:port/resourceUri", label = "websocket")
 public class WebsocketEndpoint extends DefaultEndpoint {
 
     private WebsocketComponent component;
diff --git a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppEndpoint.java b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppEndpoint.java
index 9ff1f15..e4dad54 100644
--- a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppEndpoint.java
+++ b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppEndpoint.java
@@ -56,7 +56,7 @@ import org.jxmpp.stringprep.XmppStringprepException;
  * To send and receive messages from a XMPP (chat) server.
  */
 @UriEndpoint(firstVersion = "1.0", scheme = "xmpp", title = "XMPP", syntax = "xmpp:host:port/participant", alternativeSyntax = "xmpp:user:password@host:port/participant",
-        consumerClass = XmppConsumer.class, label = "chat,messaging")
+        label = "chat,messaging")
 public class XmppEndpoint extends DefaultEndpoint implements HeaderFilterStrategyAware {
 
     private volatile XMPPTCPConnection connection;
diff --git a/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/YammerEndpoint.java b/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/YammerEndpoint.java
index 1813c61..1892daa 100644
--- a/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/YammerEndpoint.java
+++ b/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/YammerEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.spi.UriParam;
 /**
  * The yammer component allows you to interact with the Yammer enterprise social network.
  */
-@UriEndpoint(firstVersion = "2.12.0", scheme = "yammer", title = "Yammer", syntax = "yammer:function", consumerClass = YammerMessagePollingConsumer.class, label = "social")
+@UriEndpoint(firstVersion = "2.12.0", scheme = "yammer", title = "Yammer", syntax = "yammer:function", label = "social")
 public class YammerEndpoint extends ScheduledPollEndpoint {
 
     @UriParam
diff --git a/components/camel-zendesk/src/main/java/org/apache/camel/component/zendesk/ZendeskEndpoint.java b/components/camel-zendesk/src/main/java/org/apache/camel/component/zendesk/ZendeskEndpoint.java
index 1b7ee3a..6393b36 100644
--- a/components/camel-zendesk/src/main/java/org/apache/camel/component/zendesk/ZendeskEndpoint.java
+++ b/components/camel-zendesk/src/main/java/org/apache/camel/component/zendesk/ZendeskEndpoint.java
@@ -38,7 +38,7 @@ import org.zendesk.client.v2.Zendesk;
  * Allows producing messages to manage Zendesk ticket, user, organization, etc.
  */
 @UriEndpoint(firstVersion = "2.19.0", scheme = "zendesk", title = "Zendesk", syntax = "zendesk:methodName",
-    consumerClass = ZendeskConsumer.class, consumerPrefix = "consumer", label = "api,support,cloud", lenientProperties = true)
+    consumerPrefix = "consumer", label = "api,support,cloud", lenientProperties = true)
 public class ZendeskEndpoint extends AbstractApiEndpoint<ZendeskApiName, ZendeskConfiguration> {
 
     @UriParam
diff --git a/components/camel-zookeeper-master/src/main/java/org/apache/camel/component/zookeepermaster/MasterEndpoint.java b/components/camel-zookeeper-master/src/main/java/org/apache/camel/component/zookeepermaster/MasterEndpoint.java
index d8772f3..4f7517f 100644
--- a/components/camel-zookeeper-master/src/main/java/org/apache/camel/component/zookeepermaster/MasterEndpoint.java
+++ b/components/camel-zookeeper-master/src/main/java/org/apache/camel/component/zookeepermaster/MasterEndpoint.java
@@ -32,7 +32,7 @@ import org.apache.camel.spi.UriPath;
  * Represents an endpoint which only becomes active when it obtains the master lock
  */
 @ManagedResource(description = "Managed ZooKeeper Master Endpoint")
-@UriEndpoint(firstVersion = "2.19.0", scheme = "zookeeper-master", syntax = "zookeeper-master:groupName:consumerEndpointUri", consumerClass = MasterConsumer.class, consumerOnly = true,
+@UriEndpoint(firstVersion = "2.19.0", scheme = "zookeeper-master", syntax = "zookeeper-master:groupName:consumerEndpointUri", consumerOnly = true,
     title = "ZooKeeper Master", lenientProperties = true, label = "clustering")
 public class MasterEndpoint extends DefaultEndpoint implements DelegateEndpoint {
 
diff --git a/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/ZooKeeperEndpoint.java b/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/ZooKeeperEndpoint.java
index 97ae043..f45198f 100644
--- a/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/ZooKeeperEndpoint.java
+++ b/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/ZooKeeperEndpoint.java
@@ -32,7 +32,7 @@ import org.apache.camel.spi.UriParam;
  * The zookeeper component allows interaction with a ZooKeeper cluster.
  */
 @ManagedResource(description = "ZooKeeper Endpoint")
-@UriEndpoint(firstVersion = "2.9.0", scheme = "zookeeper", title = "ZooKeeper", syntax = "zookeeper:serverUrls/path", consumerClass = ZooKeeperConsumer.class, label = "clustering")
+@UriEndpoint(firstVersion = "2.9.0", scheme = "zookeeper", title = "ZooKeeper", syntax = "zookeeper:serverUrls/path", label = "clustering")
 public class ZooKeeperEndpoint extends DefaultEndpoint {
     @UriParam
     private ZooKeeperConfiguration configuration;