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

[camel] 13/18: Fix kafka component doc and regen

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

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

commit 8378eecdda7999f5936c22f569ad300bc311b426
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Mon Mar 2 21:33:04 2020 +0100

    Fix kafka component doc and regen
---
 .../org/apache/camel/component/kafka/kafka.json    |  12 +--
 .../camel-kafka/src/main/docs/kafka-component.adoc |  10 +-
 .../dsl/KafkaComponentBuilderFactory.java          |  58 +++++------
 .../endpoint/dsl/KafkaEndpointBuilderFactory.java  | 106 ++++++++++-----------
 .../modules/ROOT/pages/kafka-component.adoc        |  10 +-
 .../camel/maven/packaging/EndpointHelper.java      |   9 +-
 .../camel/maven/packaging/EndpointHelperTest.java  |  47 +++++++++
 .../src/test/resources/json/test_component3.json   |  31 ++++++
 8 files changed, 182 insertions(+), 101 deletions(-)

diff --git a/components/camel-kafka/src/generated/resources/org/apache/camel/component/kafka/kafka.json b/components/camel-kafka/src/generated/resources/org/apache/camel/component/kafka/kafka.json
index 9b0590e..abe01da 100644
--- a/components/camel-kafka/src/generated/resources/org/apache/camel/component/kafka/kafka.json
+++ b/components/camel-kafka/src/generated/resources/org/apache/camel/component/kafka/kafka.json
@@ -88,6 +88,7 @@
     "workerPoolCoreSize": { "kind": "property", "displayName": "Worker Pool Core Size", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "secret": false, "defaultValue": "10", "configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": "configuration", "description": "Number of core threads for the worker pool for continue routing Exchange after kafka server has ack [...]
     "workerPoolMaxSize": { "kind": "property", "displayName": "Worker Pool Max Size", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "secret": false, "defaultValue": "20", "configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": "configuration", "description": "Maximum number of threads for the worker pool for continue routing Exchange after kafka server has ac [...]
     "basicPropertyBinding": { "kind": "property", "displayName": "Basic Property Binding", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": false, "description": "Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities" },
+    "schemaRegistryURL": { "kind": "property", "displayName": "Schema Registry URL", "group": "confluent", "label": "confluent", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": "configuration", "description": "URL of the Confluent Platform schema registry servers to use. The format is host1:port1,host2:port2. This is known as schema [...]
     "interceptorClasses": { "kind": "property", "displayName": "Interceptor Classes", "group": "monitoring", "label": "common,monitoring", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": "configuration", "description": "Sets interceptors for producer or consumers. Producer interceptors have to be classes implementing org.apache.kafk [...]
     "kerberosBeforeReloginMinTime": { "kind": "property", "displayName": "Kerberos Before Relogin Min Time", "group": "security", "label": "common,security", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "secret": false, "defaultValue": "60000", "configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": "configuration", "description": "Login thread sleep time between refresh attempts." },
     "kerberosInitCmd": { "kind": "property", "displayName": "Kerberos Init Cmd", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "defaultValue": "\/usr\/bin\/kinit", "configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": "configuration", "description": "Kerberos kinit command path. Default is \/usr\/bin\/kinit" },
@@ -96,7 +97,7 @@
     "kerberosRenewWindowFactor": { "kind": "property", "displayName": "Kerberos Renew Window Factor", "group": "security", "label": "common,security", "required": false, "type": "number", "javaType": "java.lang.Double", "deprecated": false, "secret": false, "defaultValue": "0.8", "configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": "configuration", "description": "Login thread will sleep until the specified window factor of time from last ref [...]
     "saslJaasConfig": { "kind": "property", "displayName": "Sasl Jaas Config", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": true, "configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": "configuration", "description": "Expose the kafka sasl.jaas.config parameter Example: org.apache.kafka.common.security.plain.PlainLoginModule required username [...]
     "saslKerberosServiceName": { "kind": "property", "displayName": "Sasl Kerberos Service Name", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": "configuration", "description": "The Kerberos principal name that Kafka runs as. This can be defined either in Kafka's JAAS config or in Ka [...]
-    "saslMechanism": { "kind": "property", "displayName": "Sasl Mechanism", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "defaultValue": "GSSAPI", "configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": "configuration", "description": "The Simple Authentication and Security Layer (SASL) Mechanism used. For the valid values see a href= h [...]
+    "saslMechanism": { "kind": "property", "displayName": "Sasl Mechanism", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "defaultValue": "GSSAPI", "configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": "configuration", "description": "The Simple Authentication and Security Layer (SASL) Mechanism used. For the valid values see http:\/\/ [...]
     "securityProtocol": { "kind": "property", "displayName": "Security Protocol", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "defaultValue": "PLAINTEXT", "configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": "configuration", "description": "Protocol used to communicate with brokers. SASL_PLAINTEXT, PLAINTEXT and SSL are supported" },
     "sslCipherSuites": { "kind": "property", "displayName": "Ssl Cipher Suites", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": "configuration", "description": "A list of cipher suites. This is a named combination of authentication, encryption, MAC and key exchange algorithm used to  [...]
     "sslContextParameters": { "kind": "property", "displayName": "Ssl Context Parameters", "group": "security", "label": "common,security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": "configuration", "description": "SSL configuration using a Camel SSLContextParameters object. If configured it's [...]
@@ -111,9 +112,8 @@
     "sslProvider": { "kind": "property", "displayName": "Ssl Provider", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": "configuration", "description": "The name of the security provider used for SSL connections. Default value is the default security provider of the JVM." },
     "sslTrustmanagerAlgorithm": { "kind": "property", "displayName": "Ssl Trustmanager Algorithm", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "defaultValue": "PKIX", "configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": "configuration", "description": "The algorithm used by trust manager factory for SSL connections. Default value is [...]
     "sslTruststoreLocation": { "kind": "property", "displayName": "Ssl Truststore Location", "group": "security", "label": "producer,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": "configuration", "description": "The location of the trust store file." },
-    "sslTruststoreType": { "kind": "property", "displayName": "Ssl Truststore Type", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "defaultValue": "JKS", "configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": "configuration", "description": "The file format of the trust store file. Default value is JKS." },
-    "schemaRegistryURL": { "kind": "property", "displayName": "Schema Registry URL", "group": "confluent", "label": "confluent", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": "configuration", "description": "URL of the Confluent Platform schema registry servers to use. The format is host1:port1,host2:port2. This is known as schema [...]
     "sslTruststorePassword": { "kind": "property", "displayName": "Ssl Truststore Password", "group": "security", "label": "producer,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": true, "configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": "configuration", "description": "The password for the trust store file." },
+    "sslTruststoreType": { "kind": "property", "displayName": "Ssl Truststore Type", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "defaultValue": "JKS", "configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": "configuration", "description": "The file format of the trust store file. Default value is JKS." },
     "useGlobalSslContextParameters": { "kind": "property", "displayName": "Use Global Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "false", "description": "Enable usage of global SSL context parameters." }
   },
   "properties": {
@@ -188,6 +188,7 @@
     "workerPoolMaxSize": { "kind": "parameter", "displayName": "Worker Pool Max Size", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "secret": false, "defaultValue": "20", "configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": "configuration", "description": "Maximum number of threads for the worker pool for continue routing Exchange after kafka server has a [...]
     "basicPropertyBinding": { "kind": "parameter", "displayName": "Basic Property Binding", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": false, "description": "Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities" },
     "synchronous": { "kind": "parameter", "displayName": "Synchronous", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "false", "description": "Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported)." },
+    "schemaRegistryURL": { "kind": "parameter", "displayName": "Schema Registry URL", "group": "confluent", "label": "confluent", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": "configuration", "description": "URL of the Confluent Platform schema registry servers to use. The format is host1:port1,host2:port2. This is known as schem [...]
     "interceptorClasses": { "kind": "parameter", "displayName": "Interceptor Classes", "group": "monitoring", "label": "common,monitoring", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": "configuration", "description": "Sets interceptors for producer or consumers. Producer interceptors have to be classes implementing org.apache.kaf [...]
     "kerberosBeforeReloginMinTime": { "kind": "parameter", "displayName": "Kerberos Before Relogin Min Time", "group": "security", "label": "common,security", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "secret": false, "defaultValue": "60000", "configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": "configuration", "description": "Login thread sleep time between refresh attempts." },
     "kerberosInitCmd": { "kind": "parameter", "displayName": "Kerberos Init Cmd", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "defaultValue": "\/usr\/bin\/kinit", "configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": "configuration", "description": "Kerberos kinit command path. Default is \/usr\/bin\/kinit" },
@@ -196,7 +197,7 @@
     "kerberosRenewWindowFactor": { "kind": "parameter", "displayName": "Kerberos Renew Window Factor", "group": "security", "label": "common,security", "required": false, "type": "number", "javaType": "java.lang.Double", "deprecated": false, "secret": false, "defaultValue": "0.8", "configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": "configuration", "description": "Login thread will sleep until the specified window factor of time from last re [...]
     "saslJaasConfig": { "kind": "parameter", "displayName": "Sasl Jaas Config", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": true, "configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": "configuration", "description": "Expose the kafka sasl.jaas.config parameter Example: org.apache.kafka.common.security.plain.PlainLoginModule required usernam [...]
     "saslKerberosServiceName": { "kind": "parameter", "displayName": "Sasl Kerberos Service Name", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": "configuration", "description": "The Kerberos principal name that Kafka runs as. This can be defined either in Kafka's JAAS config or in K [...]
-    "saslMechanism": { "kind": "parameter", "displayName": "Sasl Mechanism", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "defaultValue": "GSSAPI", "configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": "configuration", "description": "The Simple Authentication and Security Layer (SASL) Mechanism used. For the valid values see a href=  [...]
+    "saslMechanism": { "kind": "parameter", "displayName": "Sasl Mechanism", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "defaultValue": "GSSAPI", "configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": "configuration", "description": "The Simple Authentication and Security Layer (SASL) Mechanism used. For the valid values see http:\/\ [...]
     "securityProtocol": { "kind": "parameter", "displayName": "Security Protocol", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "defaultValue": "PLAINTEXT", "configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": "configuration", "description": "Protocol used to communicate with brokers. SASL_PLAINTEXT, PLAINTEXT and SSL are supported" },
     "sslCipherSuites": { "kind": "parameter", "displayName": "Ssl Cipher Suites", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": "configuration", "description": "A list of cipher suites. This is a named combination of authentication, encryption, MAC and key exchange algorithm used to [...]
     "sslContextParameters": { "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "common,security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": "configuration", "description": "SSL configuration using a Camel SSLContextParameters object. If configured it' [...]
@@ -212,7 +213,6 @@
     "sslTrustmanagerAlgorithm": { "kind": "parameter", "displayName": "Ssl Trustmanager Algorithm", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "defaultValue": "PKIX", "configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": "configuration", "description": "The algorithm used by trust manager factory for SSL connections. Default value i [...]
     "sslTruststoreLocation": { "kind": "parameter", "displayName": "Ssl Truststore Location", "group": "security", "label": "producer,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": "configuration", "description": "The location of the trust store file." },
     "sslTruststorePassword": { "kind": "parameter", "displayName": "Ssl Truststore Password", "group": "security", "label": "producer,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": true, "configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": "configuration", "description": "The password for the trust store file." },
-    "sslTruststoreType": { "kind": "parameter", "displayName": "Ssl Truststore Type", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "defaultValue": "JKS", "configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": "configuration", "description": "The file format of the trust store file. Default value is JKS." },
-    "schemaRegistryURL": { "kind": "parameter", "displayName": "Schema Registry URL", "group": "confluent", "label": "confluent", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": "configuration", "description": "URL of the Confluent Platform schema registry servers to use. The format is host1:port1,host2:port2. This is known as schem [...]
+    "sslTruststoreType": { "kind": "parameter", "displayName": "Ssl Truststore Type", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "defaultValue": "JKS", "configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": "configuration", "description": "The file format of the trust store file. Default value is JKS." }
   }
 }
diff --git a/components/camel-kafka/src/main/docs/kafka-component.adoc b/components/camel-kafka/src/main/docs/kafka-component.adoc
index b8b38c8..d647dd9 100644
--- a/components/camel-kafka/src/main/docs/kafka-component.adoc
+++ b/components/camel-kafka/src/main/docs/kafka-component.adoc
@@ -112,6 +112,7 @@ The Kafka component supports 96 options, which are listed below.
 | *workerPoolCoreSize* (producer) | Number of core threads for the worker pool for continue routing Exchange after kafka server has acknowledge the message that was sent to it from KafkaProducer using asynchronous non-blocking processing. | 10 | Integer
 | *workerPoolMaxSize* (producer) | Maximum number of threads for the worker pool for continue routing Exchange after kafka server has acknowledge the message that was sent to it from KafkaProducer using asynchronous non-blocking processing. | 20 | Integer
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
+| *schemaRegistryURL* (confluent) | URL of the Confluent Platform schema registry servers to use. The format is host1:port1,host2:port2. This is known as schema.registry.url in the Confluent Platform documentation. This option is only available in the Confluent Platform (not standard Apache Kafka) |  | String
 | *interceptorClasses* (monitoring) | Sets interceptors for producer or consumers. Producer interceptors have to be classes implementing org.apache.kafka.clients.producer.ProducerInterceptor Consumer interceptors have to be classes implementing org.apache.kafka.clients.consumer.ConsumerInterceptor Note that if you use Producer interceptor on a consumer it will throw a class cast exception in runtime |  | String
 | *kerberosBeforeReloginMinTime* (security) | Login thread sleep time between refresh attempts. | 60000 | Integer
 | *kerberosInitCmd* (security) | Kerberos kinit command path. Default is /usr/bin/kinit | /usr/bin/kinit | String
@@ -120,7 +121,7 @@ The Kafka component supports 96 options, which are listed below.
 | *kerberosRenewWindowFactor* (security) | Login thread will sleep until the specified window factor of time from last refresh to ticket's expiry has been reached, at which time it will try to renew the ticket. | 0.8 | Double
 | *saslJaasConfig* (security) | Expose the kafka sasl.jaas.config parameter Example: org.apache.kafka.common.security.plain.PlainLoginModule required username=USERNAME password=PASSWORD; |  | String
 | *saslKerberosServiceName* (security) | The Kerberos principal name that Kafka runs as. This can be defined either in Kafka's JAAS config or in Kafka's config. |  | String
-| *saslMechanism* (security) | The Simple Authentication and Security Layer (SASL) Mechanism used. For the valid values see a href= \http://www.iana.org/assignments/sasl-mechanisms/sasl-mechanisms.xhtml\http://www.iana.org/assignments/sasl-mechanisms/sasl-mechanisms.xhtml | GSSAPI | String
+| *saslMechanism* (security) | The Simple Authentication and Security Layer (SASL) Mechanism used. For the valid values see \http://www.iana.org/assignments/sasl-mechanisms/sasl-mechanisms.xhtml | GSSAPI | String
 | *securityProtocol* (security) | Protocol used to communicate with brokers. SASL_PLAINTEXT, PLAINTEXT and SSL are supported | PLAINTEXT | String
 | *sslCipherSuites* (security) | A list of cipher suites. This is a named combination of authentication, encryption, MAC and key exchange algorithm used to negotiate the security settings for a network connection using TLS or SSL network protocol.By default all the available cipher suites are supported. |  | String
 | *sslContextParameters* (security) | SSL configuration using a Camel SSLContextParameters object. If configured it's applied before the other SSL endpoint parameters. |  | SSLContextParameters
@@ -135,9 +136,8 @@ The Kafka component supports 96 options, which are listed below.
 | *sslProvider* (security) | The name of the security provider used for SSL connections. Default value is the default security provider of the JVM. |  | String
 | *sslTrustmanagerAlgorithm* (security) | The algorithm used by trust manager factory for SSL connections. Default value is the trust manager factory algorithm configured for the Java Virtual Machine. | PKIX | String
 | *sslTruststoreLocation* (security) | The location of the trust store file. |  | String
-| *sslTruststoreType* (security) | The file format of the trust store file. Default value is JKS. | JKS | String
-| *schemaRegistryURL* (confluent) | URL of the Confluent Platform schema registry servers to use. The format is host1:port1,host2:port2. This is known as schema.registry.url in the Confluent Platform documentation. This option is only available in the Confluent Platform (not standard Apache Kafka) |  | String
 | *sslTruststorePassword* (security) | The password for the trust store file. |  | String
+| *sslTruststoreType* (security) | The file format of the trust store file. Default value is JKS. | JKS | String
 | *useGlobalSslContextParameters* (security) | Enable usage of global SSL context parameters. | false | boolean
 |===
 // component options: END
@@ -239,6 +239,7 @@ with the following path and query parameters:
 | *workerPoolMaxSize* (producer) | Maximum number of threads for the worker pool for continue routing Exchange after kafka server has acknowledge the message that was sent to it from KafkaProducer using asynchronous non-blocking processing. | 20 | Integer
 | *basicPropertyBinding* (advanced) | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 | *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
+| *schemaRegistryURL* (confluent) | URL of the Confluent Platform schema registry servers to use. The format is host1:port1,host2:port2. This is known as schema.registry.url in the Confluent Platform documentation. This option is only available in the Confluent Platform (not standard Apache Kafka) |  | String
 | *interceptorClasses* (monitoring) | Sets interceptors for producer or consumers. Producer interceptors have to be classes implementing org.apache.kafka.clients.producer.ProducerInterceptor Consumer interceptors have to be classes implementing org.apache.kafka.clients.consumer.ConsumerInterceptor Note that if you use Producer interceptor on a consumer it will throw a class cast exception in runtime |  | String
 | *kerberosBeforeReloginMinTime* (security) | Login thread sleep time between refresh attempts. | 60000 | Integer
 | *kerberosInitCmd* (security) | Kerberos kinit command path. Default is /usr/bin/kinit | /usr/bin/kinit | String
@@ -247,7 +248,7 @@ with the following path and query parameters:
 | *kerberosRenewWindowFactor* (security) | Login thread will sleep until the specified window factor of time from last refresh to ticket's expiry has been reached, at which time it will try to renew the ticket. | 0.8 | Double
 | *saslJaasConfig* (security) | Expose the kafka sasl.jaas.config parameter Example: org.apache.kafka.common.security.plain.PlainLoginModule required username=USERNAME password=PASSWORD; |  | String
 | *saslKerberosServiceName* (security) | The Kerberos principal name that Kafka runs as. This can be defined either in Kafka's JAAS config or in Kafka's config. |  | String
-| *saslMechanism* (security) | The Simple Authentication and Security Layer (SASL) Mechanism used. For the valid values see a href= \http://www.iana.org/assignments/sasl-mechanisms/sasl-mechanisms.xhtml\http://www.iana.org/assignments/sasl-mechanisms/sasl-mechanisms.xhtml | GSSAPI | String
+| *saslMechanism* (security) | The Simple Authentication and Security Layer (SASL) Mechanism used. For the valid values see \http://www.iana.org/assignments/sasl-mechanisms/sasl-mechanisms.xhtml | GSSAPI | String
 | *securityProtocol* (security) | Protocol used to communicate with brokers. SASL_PLAINTEXT, PLAINTEXT and SSL are supported | PLAINTEXT | String
 | *sslCipherSuites* (security) | A list of cipher suites. This is a named combination of authentication, encryption, MAC and key exchange algorithm used to negotiate the security settings for a network connection using TLS or SSL network protocol.By default all the available cipher suites are supported. |  | String
 | *sslContextParameters* (security) | SSL configuration using a Camel SSLContextParameters object. If configured it's applied before the other SSL endpoint parameters. |  | SSLContextParameters
@@ -264,7 +265,6 @@ with the following path and query parameters:
 | *sslTruststoreLocation* (security) | The location of the trust store file. |  | String
 | *sslTruststorePassword* (security) | The password for the trust store file. |  | String
 | *sslTruststoreType* (security) | The file format of the trust store file. Default value is JKS. | JKS | String
-| *schemaRegistryURL* (confluent) | URL of the Confluent Platform schema registry servers to use. The format is host1:port1,host2:port2. This is known as schema.registry.url in the Confluent Platform documentation. This option is only available in the Confluent Platform (not standard Apache Kafka) |  | String
 |===
 // endpoint options: END
 
diff --git a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/KafkaComponentBuilderFactory.java b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/KafkaComponentBuilderFactory.java
index d8d0897..37a3b54 100644
--- a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/KafkaComponentBuilderFactory.java
+++ b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/KafkaComponentBuilderFactory.java
@@ -1146,6 +1146,22 @@ public interface KafkaComponentBuilderFactory {
             return this;
         }
         /**
+         * URL of the Confluent Platform schema registry servers to use. The
+         * format is host1:port1,host2:port2. This is known as
+         * schema.registry.url in the Confluent Platform documentation. This
+         * option is only available in the Confluent Platform (not standard
+         * Apache Kafka).
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: confluent
+         */
+        default KafkaComponentBuilder schemaRegistryURL(
+                java.lang.String schemaRegistryURL) {
+            doSetProperty("schemaRegistryURL", schemaRegistryURL);
+            return this;
+        }
+        /**
          * Sets interceptors for producer or consumers. Producer interceptors
          * have to be classes implementing
          * org.apache.kafka.clients.producer.ProducerInterceptor Consumer
@@ -1266,8 +1282,8 @@ public interface KafkaComponentBuilderFactory {
         }
         /**
          * The Simple Authentication and Security Layer (SASL) Mechanism used.
-         * For the valid values see a href=
-         * http://www.iana.org/assignments/sasl-mechanisms/sasl-mechanisms.xhtmlhttp://www.iana.org/assignments/sasl-mechanisms/sasl-mechanisms.xhtml.
+         * For the valid values see
+         * http://www.iana.org/assignments/sasl-mechanisms/sasl-mechanisms.xhtml.
          * 
          * The option is a: <code>java.lang.String</code> type.
          * 
@@ -1474,44 +1490,28 @@ public interface KafkaComponentBuilderFactory {
             return this;
         }
         /**
-         * The file format of the trust store file. Default value is JKS.
+         * The password for the trust store file.
          * 
          * The option is a: <code>java.lang.String</code> type.
          * 
-         * Default: JKS
          * Group: security
          */
-        default KafkaComponentBuilder sslTruststoreType(
-                java.lang.String sslTruststoreType) {
-            doSetProperty("sslTruststoreType", sslTruststoreType);
-            return this;
-        }
-        /**
-         * URL of the Confluent Platform schema registry servers to use. The
-         * format is host1:port1,host2:port2. This is known as
-         * schema.registry.url in the Confluent Platform documentation. This
-         * option is only available in the Confluent Platform (not standard
-         * Apache Kafka).
-         * 
-         * The option is a: <code>java.lang.String</code> type.
-         * 
-         * Group: confluent
-         */
-        default KafkaComponentBuilder schemaRegistryURL(
-                java.lang.String schemaRegistryURL) {
-            doSetProperty("schemaRegistryURL", schemaRegistryURL);
+        default KafkaComponentBuilder sslTruststorePassword(
+                java.lang.String sslTruststorePassword) {
+            doSetProperty("sslTruststorePassword", sslTruststorePassword);
             return this;
         }
         /**
-         * The password for the trust store file.
+         * The file format of the trust store file. Default value is JKS.
          * 
          * The option is a: <code>java.lang.String</code> type.
          * 
+         * Default: JKS
          * Group: security
          */
-        default KafkaComponentBuilder sslTruststorePassword(
-                java.lang.String sslTruststorePassword) {
-            doSetProperty("sslTruststorePassword", sslTruststorePassword);
+        default KafkaComponentBuilder sslTruststoreType(
+                java.lang.String sslTruststoreType) {
+            doSetProperty("sslTruststoreType", sslTruststoreType);
             return this;
         }
         /**
@@ -1620,6 +1620,7 @@ public interface KafkaComponentBuilderFactory {
             case "workerPoolCoreSize": getOrCreateConfiguration((KafkaComponent) component).setWorkerPoolCoreSize((java.lang.Integer) value); return true;
             case "workerPoolMaxSize": getOrCreateConfiguration((KafkaComponent) component).setWorkerPoolMaxSize((java.lang.Integer) value); return true;
             case "basicPropertyBinding": ((KafkaComponent) component).setBasicPropertyBinding((boolean) value); return true;
+            case "schemaRegistryURL": getOrCreateConfiguration((KafkaComponent) component).setSchemaRegistryURL((java.lang.String) value); return true;
             case "interceptorClasses": getOrCreateConfiguration((KafkaComponent) component).setInterceptorClasses((java.lang.String) value); return true;
             case "kerberosBeforeReloginMinTime": getOrCreateConfiguration((KafkaComponent) component).setKerberosBeforeReloginMinTime((java.lang.Integer) value); return true;
             case "kerberosInitCmd": getOrCreateConfiguration((KafkaComponent) component).setKerberosInitCmd((java.lang.String) value); return true;
@@ -1643,9 +1644,8 @@ public interface KafkaComponentBuilderFactory {
             case "sslProvider": getOrCreateConfiguration((KafkaComponent) component).setSslProvider((java.lang.String) value); return true;
             case "sslTrustmanagerAlgorithm": getOrCreateConfiguration((KafkaComponent) component).setSslTrustmanagerAlgorithm((java.lang.String) value); return true;
             case "sslTruststoreLocation": getOrCreateConfiguration((KafkaComponent) component).setSslTruststoreLocation((java.lang.String) value); return true;
-            case "sslTruststoreType": getOrCreateConfiguration((KafkaComponent) component).setSslTruststoreType((java.lang.String) value); return true;
-            case "schemaRegistryURL": getOrCreateConfiguration((KafkaComponent) component).setSchemaRegistryURL((java.lang.String) value); return true;
             case "sslTruststorePassword": getOrCreateConfiguration((KafkaComponent) component).setSslTruststorePassword((java.lang.String) value); return true;
+            case "sslTruststoreType": getOrCreateConfiguration((KafkaComponent) component).setSslTruststoreType((java.lang.String) value); return true;
             case "useGlobalSslContextParameters": ((KafkaComponent) component).setUseGlobalSslContextParameters((boolean) value); return true;
             default: return false;
             }
diff --git a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/KafkaEndpointBuilderFactory.java b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/KafkaEndpointBuilderFactory.java
index 95f48b1..bbcae0a 100644
--- a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/KafkaEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/KafkaEndpointBuilderFactory.java
@@ -975,6 +975,22 @@ public interface KafkaEndpointBuilderFactory {
             return this;
         }
         /**
+         * URL of the Confluent Platform schema registry servers to use. The
+         * format is host1:port1,host2:port2. This is known as
+         * schema.registry.url in the Confluent Platform documentation. This
+         * option is only available in the Confluent Platform (not standard
+         * Apache Kafka).
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: confluent
+         */
+        default KafkaEndpointConsumerBuilder schemaRegistryURL(
+                String schemaRegistryURL) {
+            doSetProperty("schemaRegistryURL", schemaRegistryURL);
+            return this;
+        }
+        /**
          * Sets interceptors for producer or consumers. Producer interceptors
          * have to be classes implementing
          * org.apache.kafka.clients.producer.ProducerInterceptor Consumer
@@ -1137,8 +1153,8 @@ public interface KafkaEndpointBuilderFactory {
         }
         /**
          * The Simple Authentication and Security Layer (SASL) Mechanism used.
-         * For the valid values see a href=
-         * http://www.iana.org/assignments/sasl-mechanisms/sasl-mechanisms.xhtmlhttp://www.iana.org/assignments/sasl-mechanisms/sasl-mechanisms.xhtml.
+         * For the valid values see
+         * http://www.iana.org/assignments/sasl-mechanisms/sasl-mechanisms.xhtml.
          * 
          * The option is a: <code>java.lang.String</code> type.
          * 
@@ -1319,22 +1335,6 @@ public interface KafkaEndpointBuilderFactory {
             doSetProperty("sslTruststoreType", sslTruststoreType);
             return this;
         }
-        /**
-         * URL of the Confluent Platform schema registry servers to use. The
-         * format is host1:port1,host2:port2. This is known as
-         * schema.registry.url in the Confluent Platform documentation. This
-         * option is only available in the Confluent Platform (not standard
-         * Apache Kafka).
-         * 
-         * The option is a: <code>java.lang.String</code> type.
-         * 
-         * Group: confluent
-         */
-        default KafkaEndpointConsumerBuilder schemaRegistryURL(
-                String schemaRegistryURL) {
-            doSetProperty("schemaRegistryURL", schemaRegistryURL);
-            return this;
-        }
     }
 
     /**
@@ -2561,6 +2561,22 @@ public interface KafkaEndpointBuilderFactory {
             return this;
         }
         /**
+         * URL of the Confluent Platform schema registry servers to use. The
+         * format is host1:port1,host2:port2. This is known as
+         * schema.registry.url in the Confluent Platform documentation. This
+         * option is only available in the Confluent Platform (not standard
+         * Apache Kafka).
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: confluent
+         */
+        default KafkaEndpointProducerBuilder schemaRegistryURL(
+                String schemaRegistryURL) {
+            doSetProperty("schemaRegistryURL", schemaRegistryURL);
+            return this;
+        }
+        /**
          * Sets interceptors for producer or consumers. Producer interceptors
          * have to be classes implementing
          * org.apache.kafka.clients.producer.ProducerInterceptor Consumer
@@ -2723,8 +2739,8 @@ public interface KafkaEndpointBuilderFactory {
         }
         /**
          * The Simple Authentication and Security Layer (SASL) Mechanism used.
-         * For the valid values see a href=
-         * http://www.iana.org/assignments/sasl-mechanisms/sasl-mechanisms.xhtmlhttp://www.iana.org/assignments/sasl-mechanisms/sasl-mechanisms.xhtml.
+         * For the valid values see
+         * http://www.iana.org/assignments/sasl-mechanisms/sasl-mechanisms.xhtml.
          * 
          * The option is a: <code>java.lang.String</code> type.
          * 
@@ -2968,22 +2984,6 @@ public interface KafkaEndpointBuilderFactory {
             doSetProperty("sslTruststoreType", sslTruststoreType);
             return this;
         }
-        /**
-         * URL of the Confluent Platform schema registry servers to use. The
-         * format is host1:port1,host2:port2. This is known as
-         * schema.registry.url in the Confluent Platform documentation. This
-         * option is only available in the Confluent Platform (not standard
-         * Apache Kafka).
-         * 
-         * The option is a: <code>java.lang.String</code> type.
-         * 
-         * Group: confluent
-         */
-        default KafkaEndpointProducerBuilder schemaRegistryURL(
-                String schemaRegistryURL) {
-            doSetProperty("schemaRegistryURL", schemaRegistryURL);
-            return this;
-        }
     }
 
     /**
@@ -3191,6 +3191,21 @@ public interface KafkaEndpointBuilderFactory {
             return this;
         }
         /**
+         * URL of the Confluent Platform schema registry servers to use. The
+         * format is host1:port1,host2:port2. This is known as
+         * schema.registry.url in the Confluent Platform documentation. This
+         * option is only available in the Confluent Platform (not standard
+         * Apache Kafka).
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: confluent
+         */
+        default KafkaEndpointBuilder schemaRegistryURL(String schemaRegistryURL) {
+            doSetProperty("schemaRegistryURL", schemaRegistryURL);
+            return this;
+        }
+        /**
          * Sets interceptors for producer or consumers. Producer interceptors
          * have to be classes implementing
          * org.apache.kafka.clients.producer.ProducerInterceptor Consumer
@@ -3351,8 +3366,8 @@ public interface KafkaEndpointBuilderFactory {
         }
         /**
          * The Simple Authentication and Security Layer (SASL) Mechanism used.
-         * For the valid values see a href=
-         * http://www.iana.org/assignments/sasl-mechanisms/sasl-mechanisms.xhtmlhttp://www.iana.org/assignments/sasl-mechanisms/sasl-mechanisms.xhtml.
+         * For the valid values see
+         * http://www.iana.org/assignments/sasl-mechanisms/sasl-mechanisms.xhtml.
          * 
          * The option is a: <code>java.lang.String</code> type.
          * 
@@ -3529,21 +3544,6 @@ public interface KafkaEndpointBuilderFactory {
             doSetProperty("sslTruststoreType", sslTruststoreType);
             return this;
         }
-        /**
-         * URL of the Confluent Platform schema registry servers to use. The
-         * format is host1:port1,host2:port2. This is known as
-         * schema.registry.url in the Confluent Platform documentation. This
-         * option is only available in the Confluent Platform (not standard
-         * Apache Kafka).
-         * 
-         * The option is a: <code>java.lang.String</code> type.
-         * 
-         * Group: confluent
-         */
-        default KafkaEndpointBuilder schemaRegistryURL(String schemaRegistryURL) {
-            doSetProperty("schemaRegistryURL", schemaRegistryURL);
-            return this;
-        }
     }
 
     /**
diff --git a/docs/components/modules/ROOT/pages/kafka-component.adoc b/docs/components/modules/ROOT/pages/kafka-component.adoc
index 98ef316..190d4cd 100644
--- a/docs/components/modules/ROOT/pages/kafka-component.adoc
+++ b/docs/components/modules/ROOT/pages/kafka-component.adoc
@@ -113,6 +113,7 @@ The Kafka component supports 96 options, which are listed below.
 | *workerPoolCoreSize* (producer) | Number of core threads for the worker pool for continue routing Exchange after kafka server has acknowledge the message that was sent to it from KafkaProducer using asynchronous non-blocking processing. | 10 | Integer
 | *workerPoolMaxSize* (producer) | Maximum number of threads for the worker pool for continue routing Exchange after kafka server has acknowledge the message that was sent to it from KafkaProducer using asynchronous non-blocking processing. | 20 | Integer
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
+| *schemaRegistryURL* (confluent) | URL of the Confluent Platform schema registry servers to use. The format is host1:port1,host2:port2. This is known as schema.registry.url in the Confluent Platform documentation. This option is only available in the Confluent Platform (not standard Apache Kafka) |  | String
 | *interceptorClasses* (monitoring) | Sets interceptors for producer or consumers. Producer interceptors have to be classes implementing org.apache.kafka.clients.producer.ProducerInterceptor Consumer interceptors have to be classes implementing org.apache.kafka.clients.consumer.ConsumerInterceptor Note that if you use Producer interceptor on a consumer it will throw a class cast exception in runtime |  | String
 | *kerberosBeforeReloginMinTime* (security) | Login thread sleep time between refresh attempts. | 60000 | Integer
 | *kerberosInitCmd* (security) | Kerberos kinit command path. Default is /usr/bin/kinit | /usr/bin/kinit | String
@@ -121,7 +122,7 @@ The Kafka component supports 96 options, which are listed below.
 | *kerberosRenewWindowFactor* (security) | Login thread will sleep until the specified window factor of time from last refresh to ticket's expiry has been reached, at which time it will try to renew the ticket. | 0.8 | Double
 | *saslJaasConfig* (security) | Expose the kafka sasl.jaas.config parameter Example: org.apache.kafka.common.security.plain.PlainLoginModule required username=USERNAME password=PASSWORD; |  | String
 | *saslKerberosServiceName* (security) | The Kerberos principal name that Kafka runs as. This can be defined either in Kafka's JAAS config or in Kafka's config. |  | String
-| *saslMechanism* (security) | The Simple Authentication and Security Layer (SASL) Mechanism used. For the valid values see a href= \http://www.iana.org/assignments/sasl-mechanisms/sasl-mechanisms.xhtml\http://www.iana.org/assignments/sasl-mechanisms/sasl-mechanisms.xhtml | GSSAPI | String
+| *saslMechanism* (security) | The Simple Authentication and Security Layer (SASL) Mechanism used. For the valid values see \http://www.iana.org/assignments/sasl-mechanisms/sasl-mechanisms.xhtml | GSSAPI | String
 | *securityProtocol* (security) | Protocol used to communicate with brokers. SASL_PLAINTEXT, PLAINTEXT and SSL are supported | PLAINTEXT | String
 | *sslCipherSuites* (security) | A list of cipher suites. This is a named combination of authentication, encryption, MAC and key exchange algorithm used to negotiate the security settings for a network connection using TLS or SSL network protocol.By default all the available cipher suites are supported. |  | String
 | *sslContextParameters* (security) | SSL configuration using a Camel SSLContextParameters object. If configured it's applied before the other SSL endpoint parameters. |  | SSLContextParameters
@@ -136,9 +137,8 @@ The Kafka component supports 96 options, which are listed below.
 | *sslProvider* (security) | The name of the security provider used for SSL connections. Default value is the default security provider of the JVM. |  | String
 | *sslTrustmanagerAlgorithm* (security) | The algorithm used by trust manager factory for SSL connections. Default value is the trust manager factory algorithm configured for the Java Virtual Machine. | PKIX | String
 | *sslTruststoreLocation* (security) | The location of the trust store file. |  | String
-| *sslTruststoreType* (security) | The file format of the trust store file. Default value is JKS. | JKS | String
-| *schemaRegistryURL* (confluent) | URL of the Confluent Platform schema registry servers to use. The format is host1:port1,host2:port2. This is known as schema.registry.url in the Confluent Platform documentation. This option is only available in the Confluent Platform (not standard Apache Kafka) |  | String
 | *sslTruststorePassword* (security) | The password for the trust store file. |  | String
+| *sslTruststoreType* (security) | The file format of the trust store file. Default value is JKS. | JKS | String
 | *useGlobalSslContextParameters* (security) | Enable usage of global SSL context parameters. | false | boolean
 |===
 // component options: END
@@ -240,6 +240,7 @@ with the following path and query parameters:
 | *workerPoolMaxSize* (producer) | Maximum number of threads for the worker pool for continue routing Exchange after kafka server has acknowledge the message that was sent to it from KafkaProducer using asynchronous non-blocking processing. | 20 | Integer
 | *basicPropertyBinding* (advanced) | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 | *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
+| *schemaRegistryURL* (confluent) | URL of the Confluent Platform schema registry servers to use. The format is host1:port1,host2:port2. This is known as schema.registry.url in the Confluent Platform documentation. This option is only available in the Confluent Platform (not standard Apache Kafka) |  | String
 | *interceptorClasses* (monitoring) | Sets interceptors for producer or consumers. Producer interceptors have to be classes implementing org.apache.kafka.clients.producer.ProducerInterceptor Consumer interceptors have to be classes implementing org.apache.kafka.clients.consumer.ConsumerInterceptor Note that if you use Producer interceptor on a consumer it will throw a class cast exception in runtime |  | String
 | *kerberosBeforeReloginMinTime* (security) | Login thread sleep time between refresh attempts. | 60000 | Integer
 | *kerberosInitCmd* (security) | Kerberos kinit command path. Default is /usr/bin/kinit | /usr/bin/kinit | String
@@ -248,7 +249,7 @@ with the following path and query parameters:
 | *kerberosRenewWindowFactor* (security) | Login thread will sleep until the specified window factor of time from last refresh to ticket's expiry has been reached, at which time it will try to renew the ticket. | 0.8 | Double
 | *saslJaasConfig* (security) | Expose the kafka sasl.jaas.config parameter Example: org.apache.kafka.common.security.plain.PlainLoginModule required username=USERNAME password=PASSWORD; |  | String
 | *saslKerberosServiceName* (security) | The Kerberos principal name that Kafka runs as. This can be defined either in Kafka's JAAS config or in Kafka's config. |  | String
-| *saslMechanism* (security) | The Simple Authentication and Security Layer (SASL) Mechanism used. For the valid values see a href= \http://www.iana.org/assignments/sasl-mechanisms/sasl-mechanisms.xhtml\http://www.iana.org/assignments/sasl-mechanisms/sasl-mechanisms.xhtml | GSSAPI | String
+| *saslMechanism* (security) | The Simple Authentication and Security Layer (SASL) Mechanism used. For the valid values see \http://www.iana.org/assignments/sasl-mechanisms/sasl-mechanisms.xhtml | GSSAPI | String
 | *securityProtocol* (security) | Protocol used to communicate with brokers. SASL_PLAINTEXT, PLAINTEXT and SSL are supported | PLAINTEXT | String
 | *sslCipherSuites* (security) | A list of cipher suites. This is a named combination of authentication, encryption, MAC and key exchange algorithm used to negotiate the security settings for a network connection using TLS or SSL network protocol.By default all the available cipher suites are supported. |  | String
 | *sslContextParameters* (security) | SSL configuration using a Camel SSLContextParameters object. If configured it's applied before the other SSL endpoint parameters. |  | SSLContextParameters
@@ -265,7 +266,6 @@ with the following path and query parameters:
 | *sslTruststoreLocation* (security) | The location of the trust store file. |  | String
 | *sslTruststorePassword* (security) | The password for the trust store file. |  | String
 | *sslTruststoreType* (security) | The file format of the trust store file. Default value is JKS. | JKS | String
-| *schemaRegistryURL* (confluent) | URL of the Confluent Platform schema registry servers to use. The format is host1:port1,host2:port2. This is known as schema.registry.url in the Confluent Platform documentation. This option is only available in the Confluent Platform (not standard Apache Kafka) |  | String
 |===
 // endpoint options: END
 
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointHelper.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointHelper.java
index 2abb0d8..fefd8c0 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointHelper.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointHelper.java
@@ -151,10 +151,13 @@ public final class EndpointHelper {
             } else if (score2 < score1) {
                 return 1;
             } else {
-                // compare by full label and name
-                int score = label1.compareToIgnoreCase(label2);
+                int score = group1.compareToIgnoreCase(group2);
                 if (score == 0) {
-                    score = name1.compareToIgnoreCase(name2);
+                    // compare by full label and name
+                    score = label1.compareToIgnoreCase(label2);
+                    if (score == 0) {
+                        score = name1.compareToIgnoreCase(name2);
+                    }
                 }
                 return score;
             }
diff --git a/tooling/maven/camel-package-maven-plugin/src/test/java/org/apache/camel/maven/packaging/EndpointHelperTest.java b/tooling/maven/camel-package-maven-plugin/src/test/java/org/apache/camel/maven/packaging/EndpointHelperTest.java
new file mode 100644
index 0000000..3eaad08
--- /dev/null
+++ b/tooling/maven/camel-package-maven-plugin/src/test/java/org/apache/camel/maven/packaging/EndpointHelperTest.java
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.maven.packaging;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.Objects;
+
+import org.apache.camel.tooling.model.ComponentModel;
+import org.apache.camel.tooling.model.JsonMapper;
+import org.apache.camel.tooling.util.PackageHelper;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
+public class EndpointHelperTest {
+
+    @Test
+    public void testIfCreateJavaClassCorrectly() throws IOException {
+        final String json = PackageHelper.loadText(new File(Objects.requireNonNull(getClass().getClassLoader().getResource("json/test_component3.json")).getFile()));
+        final ComponentModel componentModel = JsonMapper.generateComponentModel(json);
+
+        componentModel.getComponentOptions().sort(EndpointHelper.createGroupAndLabelComparator());
+
+        assertEquals("schemaRegistryURL", componentModel.getComponentOptions().get(0).getName());
+        assertEquals("sslTrustmanagerAlgorithm", componentModel.getComponentOptions().get(1).getName());
+        assertEquals("sslTruststoreLocation", componentModel.getComponentOptions().get(2).getName());
+        assertEquals("sslTruststorePassword", componentModel.getComponentOptions().get(3).getName());
+        assertEquals("sslTruststoreType", componentModel.getComponentOptions().get(4).getName());
+        assertEquals("useGlobalSslContextParameters", componentModel.getComponentOptions().get(5).getName());
+    }
+
+}
diff --git a/tooling/maven/camel-package-maven-plugin/src/test/resources/json/test_component3.json b/tooling/maven/camel-package-maven-plugin/src/test/resources/json/test_component3.json
new file mode 100644
index 0000000..8aff006
--- /dev/null
+++ b/tooling/maven/camel-package-maven-plugin/src/test/resources/json/test_component3.json
@@ -0,0 +1,31 @@
+{
+  "component": {
+    "kind": "component",
+    "scheme": "kafka",
+    "extendsScheme": "",
+    "syntax": "kafka:topic",
+    "title": "Kafka",
+    "description": "The kafka component allows messages to be sent to (or consumed from) Apache Kafka brokers.",
+    "label": "messaging",
+    "deprecated": false,
+    "async": false,
+    "consumerOnly": false,
+    "producerOnly": false,
+    "lenientProperties": false,
+    "javaType": "org.apache.camel.component.kafka.KafkaComponent",
+    "firstVersion": "2.13.0",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-kafka",
+    "version": "3.2.0-SNAPSHOT"
+  },
+  "componentProperties": {
+    "sslTrustmanagerAlgorithm": { "kind": "property", "displayName": "Ssl Trustmanager Algorithm", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "defaultValue": "PKIX", "configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": "configuration", "description": "The algorithm used by trust manager factory for SSL connections. Default value is [...]
+    "sslTruststoreType": { "kind": "property", "displayName": "Ssl Truststore Type", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "defaultValue": "JKS", "configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": "configuration", "description": "The file format of the trust store file. Default value is JKS." },
+    "schemaRegistryURL": { "kind": "property", "displayName": "Schema Registry URL", "group": "confluent", "label": "confluent", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": "configuration", "description": "URL of the Confluent Platform schema registry servers to use. The format is host1:port1,host2:port2. This is known as schema [...]
+    "sslTruststoreLocation": { "kind": "property", "displayName": "Ssl Truststore Location", "group": "security", "label": "producer,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": "configuration", "description": "The location of the trust store file." },
+    "sslTruststorePassword": { "kind": "property", "displayName": "Ssl Truststore Password", "group": "security", "label": "producer,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": true, "configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": "configuration", "description": "The password for the trust store file." },
+    "useGlobalSslContextParameters": { "kind": "property", "displayName": "Use Global Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "false", "description": "Enable usage of global SSL context parameters." }
+  },
+  "properties": {
+  }
+}