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


The following commit(s) were added to refs/heads/master by this push:
     new 2ae5491  Regen
2ae5491 is described below

commit 2ae5491cc31c472d60de8c299718eb5086d2a323
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Mon Dec 7 17:20:30 2020 +0100

    Regen
---
 apache-camel/src/main/descriptors/common-bin.xml   |   1 +
 .../apache/camel/catalog/components/github.json    |   9 +-
 .../camel/catalog/docs/github-component.adoc       |  13 +-
 .../camel/catalog/docs/vertx-kafka-component.adoc  | 451 ---------------------
 docs/components/modules/ROOT/nav.adoc              |   1 +
 .../modules/ROOT/pages/github-component.adoc       |  13 +-
 6 files changed, 24 insertions(+), 464 deletions(-)

diff --git a/apache-camel/src/main/descriptors/common-bin.xml 
b/apache-camel/src/main/descriptors/common-bin.xml
index 29abf50..7538309 100644
--- a/apache-camel/src/main/descriptors/common-bin.xml
+++ b/apache-camel/src/main/descriptors/common-bin.xml
@@ -396,6 +396,7 @@
         <include>org.apache.camel:camel-velocity</include>
         <include>org.apache.camel:camel-vertx</include>
         <include>org.apache.camel:camel-vertx-http</include>
+        <include>org.apache.camel:camel-vertx-kafka</include>
         <include>org.apache.camel:camel-vertx-websocket</include>
         <include>org.apache.camel:camel-vm</include>
         <include>org.apache.camel:camel-weather</include>
diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/github.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/github.json
index 2072e87..b8f8eee 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/github.json
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/github.json
@@ -24,16 +24,14 @@
   "componentProperties": {
     "bridgeErrorHandler": { "kind": "property", "displayName": "Bridge Error 
Handler", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Allows for bridging the 
consumer to the Camel routing Error Handler, which mean any exceptions occurred 
while the consumer is trying to pickup incoming messages, or the likes, will 
now be processed as a me [...]
     "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start 
Producer", "group": "producer", "label": "producer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Whether the producer 
should be started lazy (on the first message). By starting lazy you can use 
this to allow CamelContext and routes to startup in situations where a producer 
may otherwise fail during star [...]
-    "autowiredEnabled": { "kind": "property", "displayName": "Autowired 
Enabled", "group": "advanced", "label": "advanced", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": true, "description": "Whether autowiring is 
enabled. This is used for automatic autowiring options (the option must be 
marked as autowired) by looking up in the registry to find if there is a single 
instance of matching type, which t [...]
+    "autowiredEnabled": { "kind": "property", "displayName": "Autowired 
Enabled", "group": "advanced", "label": "advanced", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": true, "description": "Whether autowiring is 
enabled. This is used for automatic autowiring options (the option must be 
marked as autowired) by looking up in the registry to find if there is a single 
instance of matching type, which t [...]
+    "oauthToken": { "kind": "property", "displayName": "Oauth Token", "group": 
"security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "description": "GitHub OAuth token. Must be configured on 
either component or endpoint." }
   },
   "properties": {
     "type": { "kind": "path", "displayName": "Type", "group": "common", 
"label": "", "required": true, "type": "object", "javaType": 
"org.apache.camel.component.github.GitHubType", "enum": [ "CLOSEPULLREQUEST", 
"PULLREQUESTCOMMENT", "COMMIT", "PULLREQUEST", "TAG", "PULLREQUESTSTATE", 
"PULLREQUESTFILES", "GETCOMMITFILE", "CREATEISSUE", "EVENT" ], "deprecated": 
false, "deprecationNote": "", "autowired": false, "secret": false, 
"description": "What git operation to execute" },
     "branchName": { "kind": "path", "displayName": "Branch Name", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Name of branch" },
-    "oauthToken": { "kind": "parameter", "displayName": "Oauth Token", 
"group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "GitHub OAuth token, required unless username & 
password are provided" },
-    "password": { "kind": "parameter", "displayName": "Password", "group": 
"common", "label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "GitHub password, required unless oauthToken is provided" },
     "repoName": { "kind": "parameter", "displayName": "Repo Name", "group": 
"common", "label": "", "required": true, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "GitHub repository name" },
     "repoOwner": { "kind": "parameter", "displayName": "Repo Owner", "group": 
"common", "label": "", "required": true, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "GitHub repository owner (organization)" 
},
-    "username": { "kind": "parameter", "displayName": "Username", "group": 
"common", "label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "GitHub username, required unless oauthToken is provided" },
     "bridgeErrorHandler": { "kind": "parameter", "displayName": "Bridge Error 
Handler", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Allows for bridging the 
consumer to the Camel routing Error Handler, which mean any exceptions occurred 
while the consumer is trying to pickup incoming messages, or the likes, will 
now be processed as a m [...]
     "sendEmptyMessageWhenIdle": { "kind": "parameter", "displayName": "Send 
Empty Message When Idle", "group": "consumer", "label": "consumer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": "If 
the polling consumer did not poll any files, you can enable this option to send 
an empty message (no body) instead." },
     "eventFetchStrategy": { "kind": "parameter", "displayName": "Event Fetch 
Strategy", "group": "consumer (advanced)", "label": "consumer,advanced", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.component.github.event.GitHubEventFetchStrategy", 
"deprecated": false, "autowired": false, "secret": false, "description": "To 
specify a custom strategy that configures how the EventsConsumer fetches 
events." },
@@ -58,6 +56,7 @@
     "schedulerProperties": { "kind": "parameter", "displayName": "Scheduler 
Properties", "group": "scheduler", "label": "consumer,scheduler", "required": 
false, "type": "object", "javaType": "java.util.Map<java.lang.String, 
java.lang.Object>", "prefix": "scheduler.", "multiValue": true, "deprecated": 
false, "autowired": false, "secret": false, "description": "To configure 
additional properties when using a custom scheduler or any of the Quartz, 
Spring based scheduler." },
     "startScheduler": { "kind": "parameter", "displayName": "Start Scheduler", 
"group": "scheduler", "label": "consumer,scheduler", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": true, "description": "Whether the scheduler 
should be auto started." },
     "timeUnit": { "kind": "parameter", "displayName": "Time Unit", "group": 
"scheduler", "label": "consumer,scheduler", "required": false, "type": 
"object", "javaType": "java.util.concurrent.TimeUnit", "enum": [ "NANOSECONDS", 
"MICROSECONDS", "MILLISECONDS", "SECONDS", "MINUTES", "HOURS", "DAYS" ], 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
"MILLISECONDS", "description": "Time unit for initialDelay and delay options." 
},
-    "useFixedDelay": { "kind": "parameter", "displayName": "Use Fixed Delay", 
"group": "scheduler", "label": "consumer,scheduler", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": true, "description": "Controls if fixed delay 
or fixed rate is used. See ScheduledExecutorService in JDK for details." }
+    "useFixedDelay": { "kind": "parameter", "displayName": "Use Fixed Delay", 
"group": "scheduler", "label": "consumer,scheduler", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": true, "description": "Controls if fixed delay 
or fixed rate is used. See ScheduledExecutorService in JDK for details." },
+    "oauthToken": { "kind": "parameter", "displayName": "Oauth Token", 
"group": "security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "description": "GitHub OAuth token. Must be configured on 
either component or endpoint." }
   }
 }
diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/github-component.adoc
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/github-component.adoc
index ba7671a..ca8aec1 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/github-component.adoc
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/github-component.adoc
@@ -49,10 +49,6 @@ for this component:
 github://endpoint[?options]
 ---------------------------
 
-== Mandatory Options:
-
-Note that these can be configured directly through the endpoint.
-
 
 // component options: START
 The GitHub component supports 4 options, which are listed below.
@@ -128,8 +124,17 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 
+== Configuring authentication
+
+The github component requires to be configured with an authentication token on 
either the component or endpoint level.
 
+For example to set it on the component:
 
+[source,java]
+----
+GitHubComponent ghc = context.getComponent("github", GitHubComponent.class);
+ghc.setOauthToken("mytoken");
+----
 
 == Consumer Endpoints:
 
diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/vertx-kafka-component.adoc
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/vertx-kafka-component.adoc
deleted file mode 100644
index 4779f54..0000000
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/vertx-kafka-component.adoc
+++ /dev/null
@@ -1,451 +0,0 @@
-[[vertx-kafka-component]]
-= Vert.x Kafka Component
-:docTitle: Vert.x Kafka
-:artifactId: camel-vertx-kafka
-:description: Sent and receive messages to/from an Apache Kafka broker using 
vert.x Kafka client
-:since: 3.7
-:supportLevel: Preview
-:component-header: Both producer and consumer are supported
-include::{cq-version}@camel-quarkus:ROOT:partial$reference/components/vertx-kafka.adoc[opts=optional]
-
-
-*Since Camel {since}*
-
-*{component-header}*
-
-The Vert.x Kafka component is used for communicating with
-http://kafka.apache.org/[Apache Kafka] message broker using 
https://vertx.io/docs/vertx-kafka-client/java/[Vert.x Kafka Client].
-This allows the component to work in a *full asynchronous* manner that results 
on *efficiency and better performance* on both sides, *Camel Producer and Camel 
Consumer*.
-
-[NOTE]
-====
-This component works very similar to 
xref:components::kafka-component.adoc[Kafka Component]. However there are some 
features that this component
-does not _yet_  support like manual offsets commits which allows for *at least 
once* semantics, storing offsets in idempotent repository and topics patterns.
-However, these features may be added later as improvements to this component.
-====
-
-[NOTE]
-====
-Almost all the Kafka configuration for the component are *auto generated* from 
Kafka Consumer/Producer configurations. It means that for example the Kafka 
Consumer configuration
-`connections.max.idle.ms` will be generated as `connectionsMaxIdleMs` for the 
endpoint option as well as the component option.
-====
-
-[source,xml]
-------------------------------------------------------------
-<dependency>
-    <groupId>org.apache.camel</groupId>
-    <artifactId>camel-vertx-kafka</artifactId>
-    <version>x.x.x</version>
-    <!-- use the same version as your Camel core version -->
-</dependency>
-------------------------------------------------------------
-
-== URI format
-
-[source,java]
----------------------------
-vertx-kafka:topic[?options]
----------------------------
-
-Topic can be support a single topic or multiple topics concatenated with `,`. 
For example, this simple route will consume some data from Kafka and write it 
to a file:
-[source,java]
----------------------------
-from("vertx-kafka/test_topic1,test_topic_2?groupId=group1&autoOffsetReset=earliest&bootstrapServers=kafka1:9092,kafka2:9092")
-to("file://queuedirectory");
----------------------------
-
-== URI Options
-// endpoint options: START
-The Vert.x Kafka endpoint is configured using URI syntax:
-
-----
-vertx-kafka:topic
-----
-
-with the following path and query parameters:
-
-=== Path Parameters (1 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *topic* | *Required* Name of the topic to use. On the consumer you can use 
comma to separate multiple topics. A producer can only send a message to a 
single topic. |  | String
-|===
-
-
-=== Query Parameters (97 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *additionalProperties* (common) | Sets additional properties for either 
kafka consumer or kafka producer in case they can't be set directly on the 
camel configurations (e.g: new Kafka properties that are not reflected yet in 
Camel configurations), the properties have to be prefixed with 
additionalProperties.. E.g: 
additionalProperties.transactional.id=12345&additionalProperties.schema.registry.url=\http://localhost:8811/avro
 |  | Map
-| *bootstrapServers* (common) | A list of host/port pairs to use for 
establishing the initial connection to the Kafka cluster. The client will make 
use of all servers irrespective of which servers are specified here for 
bootstrapping&mdash;this list only impacts the initial hosts used to discover 
the full set of servers. This list should be in the form 
host1:port1,host2:port2,.... Since these servers are just used for the initial 
connection to discover the full cluster membership (which  [...]
-| *clientDnsLookup* (common) | Controls how the client uses DNS lookups. If 
set to use_all_dns_ips, connect to each returned IP address in sequence until a 
successful connection is established. After a disconnection, the next IP is 
used. Once all IPs have been used once, the client resolves the IP(s) from the 
hostname again (both the JVM and the OS cache DNS name lookups, however). If 
set to resolve_canonical_bootstrap_servers_only, resolve each bootstrap address 
into a list of canonical [...]
-| *clientId* (common) | An id string to pass to the server when making 
requests. The purpose of this is to be able to track the source of requests 
beyond just ip/port by allowing a logical application name to be included in 
server-side request logging. |  | String
-| *connectionsMaxIdleMs* (common) | Close idle connections after the number of 
milliseconds specified by this config. | 9m | long
-| *headerFilterStrategy* (common) | To use a custom HeaderFilterStrategy to 
filter header to and from Camel message. |  | HeaderFilterStrategy
-| *interceptorClasses* (common) | A list of classes to use as interceptors. 
Implementing the org.apache.kafka.clients.producer.ProducerInterceptor 
interface allows you to intercept (and possibly mutate) the records received by 
the producer before they are published to the Kafka cluster. By default, there 
are no interceptors. |  | String
-| *metadataMaxAgeMs* (common) | The period of time in milliseconds after which 
we force a refresh of metadata even if we haven't seen any partition leadership 
changes to proactively discover any new brokers or partitions. | 5m | long
-| *metricReporters* (common) | A list of classes to use as metrics reporters. 
Implementing the org.apache.kafka.common.metrics.MetricsReporter interface 
allows plugging in classes that will be notified of new metric creation. The 
JmxReporter is always included to register JMX statistics. |  | String
-| *metricsNumSamples* (common) | The number of samples maintained to compute 
metrics. | 2 | int
-| *metricsRecordingLevel* (common) | The highest recording level for metrics. 
There are 2 enums and the value can be one of: INFO, DEBUG | INFO | String
-| *metricsSampleWindowMs* (common) | The window of time a metrics sample is 
computed over. | 30s | long
-| *partitionId* (common) | The partition to which the record will be sent (or 
null if no partition was specified) or read from a particular partition if set. 
Header VertxKafkaConstants#PARTITION_ID If configured, it will take precedence 
over this config |  | Integer
-| *receiveBufferBytes* (common) | The size of the TCP receive buffer 
(SO_RCVBUF) to use when reading data. If the value is -1, the OS default will 
be used. | 32768 | int
-| *reconnectBackoffMaxMs* (common) | The maximum amount of time in 
milliseconds to wait when reconnecting to a broker that has repeatedly failed 
to connect. If provided, the backoff per host will increase exponentially for 
each consecutive connection failure, up to this maximum. After calculating the 
backoff increase, 20% random jitter is added to avoid connection storms. | 1s | 
long
-| *reconnectBackoffMs* (common) | The base amount of time to wait before 
attempting to reconnect to a given host. This avoids repeatedly connecting to a 
host in a tight loop. This backoff applies to all connection attempts by the 
client to a broker. | 50ms | long
-| *requestTimeoutMs* (common) | The configuration controls the maximum amount 
of time the client will wait for the response of a request. If the response is 
not received before the timeout elapses the client will resend the request if 
necessary or fail the request if retries are exhausted. This should be larger 
than replica.lag.time.max.ms (a broker configuration) to reduce the possibility 
of message duplication due to unnecessary producer retries. | 30s | int
-| *retryBackoffMs* (common) | The amount of time to wait before attempting to 
retry a failed request to a given topic partition. This avoids repeatedly 
sending requests in a tight loop under some failure scenarios. | 100ms | long
-| *sendBufferBytes* (common) | The size of the TCP send buffer (SO_SNDBUF) to 
use when sending data. If the value is -1, the OS default will be used. | 
131072 | int
-| *allowAutoCreateTopics* (consumer) | Allow automatic topic creation on the 
broker when subscribing to or assigning a topic. A topic being subscribed to 
will be automatically created only if the broker allows for it using 
auto.create.topics.enable broker configuration. This configuration must be set 
to false when using brokers older than 0.11.0 | true | boolean
-| *autoCommitIntervalMs* (consumer) | The frequency in milliseconds that the 
consumer offsets are auto-committed to Kafka if enable.auto.commit is set to 
true. | 5s | int
-| *autoOffsetReset* (consumer) | What to do when there is no initial offset in 
Kafka or if the current offset does not exist any more on the server (e.g. 
because that data has been deleted): earliest: automatically reset the offset 
to the earliest offsetlatest: automatically reset the offset to the latest 
offsetnone: throw exception to the consumer if no previous offset is found for 
the consumer's groupanything else: throw exception to the consumer. There are 3 
enums and the value can be [...]
-| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the 
Camel routing Error Handler, which mean any exceptions occurred while the 
consumer is trying to pickup incoming messages, or the likes, will now be 
processed as a message and handled by the routing Error Handler. By default the 
consumer will use the org.apache.camel.spi.ExceptionHandler to deal with 
exceptions, that will be logged at WARN or ERROR level and ignored. | false | 
boolean
-| *checkCrcs* (consumer) | Automatically check the CRC32 of the records 
consumed. This ensures no on-the-wire or on-disk corruption to the messages 
occurred. This check adds some overhead, so it may be disabled in cases seeking 
extreme performance. | true | boolean
-| *clientRack* (consumer) | A rack identifier for this client. This can be any 
string value which indicates where this client is physically located. It 
corresponds with the broker config 'broker.rack' |  | String
-| *defaultApiTimeoutMs* (consumer) | Specifies the timeout (in milliseconds) 
for client APIs. This configuration is used as the default timeout for all 
client operations that do not specify a timeout parameter. | 1m | int
-| *enableAutoCommit* (consumer) | If true the consumer's offset will be 
periodically committed in the background. | true | boolean
-| *excludeInternalTopics* (consumer) | Whether internal topics matching a 
subscribed pattern should be excluded from the subscription. It is always 
possible to explicitly subscribe to an internal topic. | true | boolean
-| *fetchMaxBytes* (consumer) | The maximum amount of data the server should 
return for a fetch request. Records are fetched in batches by the consumer, and 
if the first record batch in the first non-empty partition of the fetch is 
larger than this value, the record batch will still be returned to ensure that 
the consumer can make progress. As such, this is not a absolute maximum. The 
maximum record batch size accepted by the broker is defined via 
message.max.bytes (broker config) or max. [...]
-| *fetchMaxWaitMs* (consumer) | The maximum amount of time the server will 
block before answering the fetch request if there isn't sufficient data to 
immediately satisfy the requirement given by fetch.min.bytes. | 500ms | int
-| *fetchMinBytes* (consumer) | The minimum amount of data the server should 
return for a fetch request. If insufficient data is available the request will 
wait for that much data to accumulate before answering the request. The default 
setting of 1 byte means that fetch requests are answered as soon as a single 
byte of data is available or the fetch request times out waiting for data to 
arrive. Setting this to something greater than 1 will cause the server to wait 
for larger amounts of da [...]
-| *groupId* (consumer) | A unique string that identifies the consumer group 
this consumer belongs to. This property is required if the consumer uses either 
the group management functionality by using subscribe(topic) or the Kafka-based 
offset management strategy. |  | String
-| *groupInstanceId* (consumer) | A unique identifier of the consumer instance 
provided by the end user. Only non-empty strings are permitted. If set, the 
consumer is treated as a static member, which means that only one instance with 
this ID is allowed in the consumer group at any time. This can be used in 
combination with a larger session timeout to avoid group rebalances caused by 
transient unavailability (e.g. process restarts). If not set, the consumer will 
join the group as a dynami [...]
-| *heartbeatIntervalMs* (consumer) | The expected time between heartbeats to 
the consumer coordinator when using Kafka's group management facilities. 
Heartbeats are used to ensure that the consumer's session stays active and to 
facilitate rebalancing when new consumers join or leave the group. The value 
must be set lower than session.timeout.ms, but typically should be set no 
higher than 1/3 of that value. It can be adjusted even lower to control the 
expected time for normal rebalances.  [...]
-| *isolationLevel* (consumer) | Controls how to read messages written 
transactionally. If set to read_committed, consumer.poll() will only return 
transactional messages which have been committed. If set to read_uncommitted' 
(the default), consumer.poll() will return all messages, even transactional 
messages which have been aborted. Non-transactional messages will be returned 
unconditionally in either mode. Messages will always be returned in offset 
order. Hence, in read_committed mode, c [...]
-| *keyDeserializer* (consumer) | Deserializer class for key that implements 
the org.apache.kafka.common.serialization.Deserializer interface. | 
org.apache.kafka.common.serialization.StringDeserializer | String
-| *maxPartitionFetchBytes* (consumer) | The maximum amount of data 
per-partition the server will return. Records are fetched in batches by the 
consumer. If the first record batch in the first non-empty partition of the 
fetch is larger than this limit, the batch will still be returned to ensure 
that the consumer can make progress. The maximum record batch size accepted by 
the broker is defined via message.max.bytes (broker config) or 
max.message.bytes (topic config). See fetch.max.bytes f [...]
-| *maxPollIntervalMs* (consumer) | The maximum delay between invocations of 
poll() when using consumer group management. This places an upper bound on the 
amount of time that the consumer can be idle before fetching more records. If 
poll() is not called before expiration of this timeout, then the consumer is 
considered failed and the group will rebalance in order to reassign the 
partitions to another member. For consumers using a non-null group.instance.id 
which reach this timeout, parti [...]
-| *maxPollRecords* (consumer) | The maximum number of records returned in a 
single call to poll(). | 500 | int
-| *partitionAssignmentStrategy* (consumer) | A list of class names or class 
types, ordered by preference, of supported partition assignment strategies that 
the client will use to distribute partition ownership amongst consumer 
instances when group management is used.In addition to the default class 
specified below, you can use the 
org.apache.kafka.clients.consumer.RoundRobinAssignorclass for round robin 
assignments of partitions to consumers. Implementing the 
org.apache.kafka.clients.con [...]
-| *seekToOffset* (consumer) | Set if KafkaConsumer will read from a particular 
offset on startup. This config will take precedence over seekTo config |  | Long
-| *seekToPosition* (consumer) | Set if KafkaConsumer will read from beginning 
or end on startup: beginning : read from beginning end : read from end. There 
are 2 enums and the value can be one of: beginning, end |  | String
-| *sessionTimeoutMs* (consumer) | The timeout used to detect client failures 
when using Kafka's group management facility. The client sends periodic 
heartbeats to indicate its liveness to the broker. If no heartbeats are 
received by the broker before the expiration of this session timeout, then the 
broker will remove this client from the group and initiate a rebalance. Note 
that the value must be in the allowable range as configured in the broker 
configuration by group.min.session.timeou [...]
-| *valueDeserializer* (consumer) | Deserializer class for value that 
implements the org.apache.kafka.common.serialization.Deserializer interface. | 
org.apache.kafka.common.serialization.StringDeserializer | String
-| *exceptionHandler* (consumer) | To let the consumer use a custom 
ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this 
option is not in use. By default the consumer will deal with exceptions, that 
will be logged at WARN or ERROR level and ignored. |  | ExceptionHandler
-| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer 
creates an exchange. There are 3 enums and the value can be one of: InOnly, 
InOut, InOptionalOut |  | ExchangePattern
-| *acks* (producer) | The number of acknowledgments the producer requires the 
leader to have received before considering a request complete. This controls 
the durability of records that are sent. The following settings are allowed: 
acks=0 If set to zero then the producer will not wait for any acknowledgment 
from the server at all. The record will be immediately added to the socket 
buffer and considered sent. No guarantee can be made that the server has 
received the record in this case, a [...]
-| *batchSize* (producer) | The producer will attempt to batch records together 
into fewer requests whenever multiple records are being sent to the same 
partition. This helps performance on both the client and the server. This 
configuration controls the default batch size in bytes. No attempt will be made 
to batch records larger than this size. Requests sent to brokers will contain 
multiple batches, one for each partition with data available to be sent. A 
small batch size will make batchi [...]
-| *bufferMemory* (producer) | The total bytes of memory the producer can use 
to buffer records waiting to be sent to the server. If records are sent faster 
than they can be delivered to the server the producer will block for 
max.block.ms after which it will throw an exception.This setting should 
correspond roughly to the total memory the producer will use, but is not a hard 
bound since not all memory the producer uses is used for buffering. Some 
additional memory will be used for compres [...]
-| *compressionType* (producer) | The compression type for all data generated 
by the producer. The default is none (i.e. no compression). Valid values are 
none, gzip, snappy, lz4, or zstd. Compression is of full batches of data, so 
the efficacy of batching will also impact the compression ratio (more batching 
means better compression). | none | String
-| *deliveryTimeoutMs* (producer) | An upper bound on the time to report 
success or failure after a call to send() returns. This limits the total time 
that a record will be delayed prior to sending, the time to await 
acknowledgement from the broker (if expected), and the time allowed for 
retriable send failures. The producer may report failure to send a record 
earlier than this config if either an unrecoverable error is encountered, the 
retries have been exhausted, or the record is added  [...]
-| *enableIdempotence* (producer) | When set to 'true', the producer will 
ensure that exactly one copy of each message is written in the stream. If 
'false', producer retries due to broker failures, etc., may write duplicates of 
the retried message in the stream. Note that enabling idempotence requires 
max.in.flight.requests.per.connection to be less than or equal to 5, retries to 
be greater than 0 and acks must be 'all'. If these values are not explicitly 
set by the user, suitable values  [...]
-| *keySerializer* (producer) | Serializer class for key that implements the 
org.apache.kafka.common.serialization.Serializer interface. | 
org.apache.kafka.common.serialization.StringSerializer | String
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy 
(on the first message). By starting lazy you can use this to allow CamelContext 
and routes to startup in situations where a producer may otherwise fail during 
starting and cause the route to fail being started. By deferring this startup 
to be lazy then the startup failure can be handled during routing messages via 
Camel's routing error handlers. Beware that when the first message is processed 
then creating and [...]
-| *lingerMs* (producer) | The producer groups together any records that arrive 
in between request transmissions into a single batched request. Normally this 
occurs only under load when records arrive faster than they can be sent out. 
However in some circumstances the client may want to reduce the number of 
requests even under moderate load. This setting accomplishes this by adding a 
small amount of artificial delay&mdash;that is, rather than immediately sending 
out a record the producer  [...]
-| *maxBlockMs* (producer) | The configuration controls how long 
KafkaProducer.send() and KafkaProducer.partitionsFor() will block.These methods 
can be blocked either because the buffer is full or metadata 
unavailable.Blocking in the user-supplied serializers or partitioner will not 
be counted against this timeout. | 1m | long
-| *maxInFlightRequestsPer{zwsp}Connection* (producer) | The maximum number of 
unacknowledged requests the client will send on a single connection before 
blocking. Note that if this setting is set to be greater than 1 and there are 
failed sends, there is a risk of message re-ordering due to retries (i.e., if 
retries are enabled). | 5 | int
-| *maxRequestSize* (producer) | The maximum size of a request in bytes. This 
setting will limit the number of record batches the producer will send in a 
single request to avoid sending huge requests. This is also effectively a cap 
on the maximum uncompressed record batch size. Note that the server has its own 
cap on the record batch size (after compression if compression is enabled) 
which may be different from this. | 1048576 | int
-| *metadataMaxIdleMs* (producer) | Controls how long the producer will cache 
metadata for a topic that's idle. If the elapsed time since a topic was last 
produced to exceeds the metadata idle duration, then the topic's metadata is 
forgotten and the next access to it will force a metadata fetch request. | 5m | 
long
-| *partitionerClass* (producer) | Partitioner class that implements the 
org.apache.kafka.clients.producer.Partitioner interface. | 
org.apache.kafka.clients.producer.internals.DefaultPartitioner | String
-| *retries* (producer) | Setting a value greater than zero will cause the 
client to resend any record whose send fails with a potentially transient 
error. Note that this retry is no different than if the client resent the 
record upon receiving the error. Allowing retries without setting 
max.in.flight.requests.per.connection to 1 will potentially change the ordering 
of records because if two batches are sent to a single partition, and the first 
fails and is retried but the second succeeds [...]
-| *transactionalId* (producer) | The TransactionalId to use for transactional 
delivery. This enables reliability semantics which span multiple producer 
sessions since it allows the client to guarantee that transactions using the 
same TransactionalId have been completed prior to starting any new 
transactions. If no TransactionalId is provided, then the producer is limited 
to idempotent delivery. If a TransactionalId is configured, enable.idempotence 
is implied. By default the TransactionI [...]
-| *transactionTimeoutMs* (producer) | The maximum amount of time in ms that 
the transaction coordinator will wait for a transaction status update from the 
producer before proactively aborting the ongoing transaction.If this value is 
larger than the transaction.max.timeout.ms setting in the broker, the request 
will fail with a InvalidTransactionTimeout error. | 1m | int
-| *valueSerializer* (producer) | Serializer class for value that implements 
the org.apache.kafka.common.serialization.Serializer interface. | 
org.apache.kafka.common.serialization.StringSerializer | String
-| *synchronous* (advanced) | Sets whether synchronous processing should be 
strictly used, or Camel is allowed to use asynchronous processing (if 
supported). | false | boolean
-| *saslClientCallbackHandlerClass* (security) | The fully qualified name of a 
SASL client callback handler class that implements the 
AuthenticateCallbackHandler interface. |  | String
-| *saslJaasConfig* (security) | JAAS login context parameters for SASL 
connections in the format used by JAAS configuration files. JAAS configuration 
file format is described here. The format for the value is: 'loginModuleClass 
controlFlag (optionName=optionValue);'. For brokers, the config must be 
prefixed with listener prefix and SASL mechanism name in lower-case. For 
example, 
listener.name.sasl_ssl.scram-sha-256.sasl.jaas.config=com.example.ScramLoginModule
 required; |  | String
-| *saslKerberosKinitCmd* (security) | Kerberos kinit command path. | 
/usr/bin/kinit | String
-| *saslKerberosMinTimeBefore{zwsp}Relogin* (security) | Login thread sleep 
time between refresh attempts. | 60000 | long
-| *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
-| *saslKerberosTicketRenewJitter* (security) | Percentage of random jitter 
added to the renewal time. | 0.05 | double
-| *saslKerberosTicketRenewWindow{zwsp}Factor* (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
-| *saslLoginCallbackHandlerClass* (security) | The fully qualified name of a 
SASL login callback handler class that implements the 
AuthenticateCallbackHandler interface. For brokers, login callback handler 
config must be prefixed with listener prefix and SASL mechanism name in 
lower-case. For example, 
listener.name.sasl_ssl.scram-sha-256.sasl.login.callback.handler.class=com.example.CustomScramLoginCallbackHandler
 |  | String
-| *saslLoginClass* (security) | The fully qualified name of a class that 
implements the Login interface. For brokers, login config must be prefixed with 
listener prefix and SASL mechanism name in lower-case. For example, 
listener.name.sasl_ssl.scram-sha-256.sasl.login.class=com.example.CustomScramLogin
 |  | String
-| *saslLoginRefreshBufferSeconds* (security) | The amount of buffer time 
before credential expiration to maintain when refreshing a credential, in 
seconds. If a refresh would otherwise occur closer to expiration than the 
number of buffer seconds then the refresh will be moved up to maintain as much 
of the buffer time as possible. Legal values are between 0 and 3600 (1 hour); a 
default value of 300 (5 minutes) is used if no value is specified. This value 
and sasl.login.refresh.min.period. [...]
-| *saslLoginRefreshMinPeriod{zwsp}Seconds* (security) | The desired minimum 
time for the login refresh thread to wait before refreshing a credential, in 
seconds. Legal values are between 0 and 900 (15 minutes); a default value of 60 
(1 minute) is used if no value is specified. This value and 
sasl.login.refresh.buffer.seconds are both ignored if their sum exceeds the 
remaining lifetime of a credential. Currently applies only to OAUTHBEARER. | 60 
| short
-| *saslLoginRefreshWindowFactor* (security) | Login refresh thread will sleep 
until the specified window factor relative to the credential's lifetime has 
been reached, at which time it will try to refresh the credential. Legal values 
are between 0.5 (50%) and 1.0 (100%) inclusive; a default value of 0.8 (80%) is 
used if no value is specified. Currently applies only to OAUTHBEARER. | 0.8 | 
double
-| *saslLoginRefreshWindowJitter* (security) | The maximum amount of random 
jitter relative to the credential's lifetime that is added to the login refresh 
thread's sleep time. Legal values are between 0 and 0.25 (25%) inclusive; a 
default value of 0.05 (5%) is used if no value is specified. Currently applies 
only to OAUTHBEARER. | 0.05 | double
-| *saslMechanism* (security) | SASL mechanism used for client connections. 
This may be any mechanism for which a security provider is available. GSSAPI is 
the default mechanism. | GSSAPI | String
-| *securityProtocol* (security) | Protocol used to communicate with brokers. 
Valid values are: PLAINTEXT, SSL, SASL_PLAINTEXT, SASL_SSL. | PLAINTEXT | String
-| *securityProviders* (security) | A list of configurable creator classes each 
returning a provider implementing security algorithms. These classes should 
implement the org.apache.kafka.common.security.auth.SecurityProviderCreator 
interface. |  | 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
-| *sslEnabledProtocols* (security) | The list of protocols enabled for SSL 
connections. The default is 'TLSv1.2,TLSv1.3' when running with Java 11 or 
newer, 'TLSv1.2' otherwise. With the default value for Java 11, clients and 
servers will prefer TLSv1.3 if both support it and fallback to TLSv1.2 
otherwise (assuming both support at least TLSv1.2). This default should be fine 
for most cases. Also see the config documentation for ssl.protocol. | 
TLSv1.2,TLSv1.3 | String
-| *sslEndpointIdentification{zwsp}Algorithm* (security) | The endpoint 
identification algorithm to validate server hostname using server certificate. 
| https | String
-| *sslEngineFactoryClass* (security) | The class of type 
org.apache.kafka.common.security.auth.SslEngineFactory to provide SSLEngine 
objects. Default value is 
org.apache.kafka.common.security.ssl.DefaultSslEngineFactory |  | String
-| *sslKeymanagerAlgorithm* (security) | The algorithm used by key manager 
factory for SSL connections. Default value is the key manager factory algorithm 
configured for the Java Virtual Machine. | SunX509 | String
-| *sslKeyPassword* (security) | The password of the private key in the key 
store file. This is optional for client. |  | String
-| *sslKeystoreLocation* (security) | The location of the key store file. This 
is optional for client and can be used for two-way authentication for client. | 
 | String
-| *sslKeystorePassword* (security) | The store password for the key store 
file. This is optional for client and only needed if ssl.keystore.location is 
configured. |  | String
-| *sslKeystoreType* (security) | The file format of the key store file. This 
is optional for client. | JKS | String
-| *sslProtocol* (security) | The SSL protocol used to generate the SSLContext. 
The default is 'TLSv1.3' when running with Java 11 or newer, 'TLSv1.2' 
otherwise. This value should be fine for most use cases. Allowed values in 
recent JVMs are 'TLSv1.2' and 'TLSv1.3'. 'TLS', 'TLSv1.1', 'SSL', 'SSLv2' and 
'SSLv3' may be supported in older JVMs, but their usage is discouraged due to 
known security vulnerabilities. With the default value for this config and 
'ssl.enabled.protocols', clients wil [...]
-| *sslProvider* (security) | The name of the security provider used for SSL 
connections. Default value is the default security provider of the JVM. |  | 
String
-| *sslSecureRandomImplementation* (security) | The SecureRandom PRNG 
implementation to use for SSL cryptography operations. |  | 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
-| *sslTruststorePassword* (security) | The password for the trust store file. 
If a password is not set access to the truststore is still available, but 
integrity checking is disabled. |  | String
-| *sslTruststoreType* (security) | The file format of the trust store file. | 
JKS | String
-|===
-// endpoint options: END
-
-== Component Options
-// component options: START
-The Vert.x Kafka component supports 98 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *additionalProperties* (common) | Sets additional properties for either 
kafka consumer or kafka producer in case they can't be set directly on the 
camel configurations (e.g: new Kafka properties that are not reflected yet in 
Camel configurations), the properties have to be prefixed with 
additionalProperties.. E.g: 
additionalProperties.transactional.id=12345&additionalProperties.schema.registry.url=\http://localhost:8811/avro
 |  | Map
-| *bootstrapServers* (common) | A list of host/port pairs to use for 
establishing the initial connection to the Kafka cluster. The client will make 
use of all servers irrespective of which servers are specified here for 
bootstrapping&mdash;this list only impacts the initial hosts used to discover 
the full set of servers. This list should be in the form 
host1:port1,host2:port2,.... Since these servers are just used for the initial 
connection to discover the full cluster membership (which  [...]
-| *clientDnsLookup* (common) | Controls how the client uses DNS lookups. If 
set to use_all_dns_ips, connect to each returned IP address in sequence until a 
successful connection is established. After a disconnection, the next IP is 
used. Once all IPs have been used once, the client resolves the IP(s) from the 
hostname again (both the JVM and the OS cache DNS name lookups, however). If 
set to resolve_canonical_bootstrap_servers_only, resolve each bootstrap address 
into a list of canonical [...]
-| *clientId* (common) | An id string to pass to the server when making 
requests. The purpose of this is to be able to track the source of requests 
beyond just ip/port by allowing a logical application name to be included in 
server-side request logging. |  | String
-| *configuration* (common) | The component configurations |  | 
VertxKafkaConfiguration
-| *connectionsMaxIdleMs* (common) | Close idle connections after the number of 
milliseconds specified by this config. | 9m | long
-| *headerFilterStrategy* (common) | To use a custom HeaderFilterStrategy to 
filter header to and from Camel message. |  | HeaderFilterStrategy
-| *interceptorClasses* (common) | A list of classes to use as interceptors. 
Implementing the org.apache.kafka.clients.producer.ProducerInterceptor 
interface allows you to intercept (and possibly mutate) the records received by 
the producer before they are published to the Kafka cluster. By default, there 
are no interceptors. |  | String
-| *metadataMaxAgeMs* (common) | The period of time in milliseconds after which 
we force a refresh of metadata even if we haven't seen any partition leadership 
changes to proactively discover any new brokers or partitions. | 5m | long
-| *metricReporters* (common) | A list of classes to use as metrics reporters. 
Implementing the org.apache.kafka.common.metrics.MetricsReporter interface 
allows plugging in classes that will be notified of new metric creation. The 
JmxReporter is always included to register JMX statistics. |  | String
-| *metricsNumSamples* (common) | The number of samples maintained to compute 
metrics. | 2 | int
-| *metricsRecordingLevel* (common) | The highest recording level for metrics. 
There are 2 enums and the value can be one of: INFO, DEBUG | INFO | String
-| *metricsSampleWindowMs* (common) | The window of time a metrics sample is 
computed over. | 30s | long
-| *partitionId* (common) | The partition to which the record will be sent (or 
null if no partition was specified) or read from a particular partition if set. 
Header VertxKafkaConstants#PARTITION_ID If configured, it will take precedence 
over this config |  | Integer
-| *receiveBufferBytes* (common) | The size of the TCP receive buffer 
(SO_RCVBUF) to use when reading data. If the value is -1, the OS default will 
be used. | 32768 | int
-| *reconnectBackoffMaxMs* (common) | The maximum amount of time in 
milliseconds to wait when reconnecting to a broker that has repeatedly failed 
to connect. If provided, the backoff per host will increase exponentially for 
each consecutive connection failure, up to this maximum. After calculating the 
backoff increase, 20% random jitter is added to avoid connection storms. | 1s | 
long
-| *reconnectBackoffMs* (common) | The base amount of time to wait before 
attempting to reconnect to a given host. This avoids repeatedly connecting to a 
host in a tight loop. This backoff applies to all connection attempts by the 
client to a broker. | 50ms | long
-| *requestTimeoutMs* (common) | The configuration controls the maximum amount 
of time the client will wait for the response of a request. If the response is 
not received before the timeout elapses the client will resend the request if 
necessary or fail the request if retries are exhausted. This should be larger 
than replica.lag.time.max.ms (a broker configuration) to reduce the possibility 
of message duplication due to unnecessary producer retries. | 30s | int
-| *retryBackoffMs* (common) | The amount of time to wait before attempting to 
retry a failed request to a given topic partition. This avoids repeatedly 
sending requests in a tight loop under some failure scenarios. | 100ms | long
-| *sendBufferBytes* (common) | The size of the TCP send buffer (SO_SNDBUF) to 
use when sending data. If the value is -1, the OS default will be used. | 
131072 | int
-| *allowAutoCreateTopics* (consumer) | Allow automatic topic creation on the 
broker when subscribing to or assigning a topic. A topic being subscribed to 
will be automatically created only if the broker allows for it using 
auto.create.topics.enable broker configuration. This configuration must be set 
to false when using brokers older than 0.11.0 | true | boolean
-| *autoCommitIntervalMs* (consumer) | The frequency in milliseconds that the 
consumer offsets are auto-committed to Kafka if enable.auto.commit is set to 
true. | 5s | int
-| *autoOffsetReset* (consumer) | What to do when there is no initial offset in 
Kafka or if the current offset does not exist any more on the server (e.g. 
because that data has been deleted): earliest: automatically reset the offset 
to the earliest offsetlatest: automatically reset the offset to the latest 
offsetnone: throw exception to the consumer if no previous offset is found for 
the consumer's groupanything else: throw exception to the consumer. There are 3 
enums and the value can be [...]
-| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the 
Camel routing Error Handler, which mean any exceptions occurred while the 
consumer is trying to pickup incoming messages, or the likes, will now be 
processed as a message and handled by the routing Error Handler. By default the 
consumer will use the org.apache.camel.spi.ExceptionHandler to deal with 
exceptions, that will be logged at WARN or ERROR level and ignored. | false | 
boolean
-| *checkCrcs* (consumer) | Automatically check the CRC32 of the records 
consumed. This ensures no on-the-wire or on-disk corruption to the messages 
occurred. This check adds some overhead, so it may be disabled in cases seeking 
extreme performance. | true | boolean
-| *clientRack* (consumer) | A rack identifier for this client. This can be any 
string value which indicates where this client is physically located. It 
corresponds with the broker config 'broker.rack' |  | String
-| *defaultApiTimeoutMs* (consumer) | Specifies the timeout (in milliseconds) 
for client APIs. This configuration is used as the default timeout for all 
client operations that do not specify a timeout parameter. | 1m | int
-| *enableAutoCommit* (consumer) | If true the consumer's offset will be 
periodically committed in the background. | true | boolean
-| *excludeInternalTopics* (consumer) | Whether internal topics matching a 
subscribed pattern should be excluded from the subscription. It is always 
possible to explicitly subscribe to an internal topic. | true | boolean
-| *fetchMaxBytes* (consumer) | The maximum amount of data the server should 
return for a fetch request. Records are fetched in batches by the consumer, and 
if the first record batch in the first non-empty partition of the fetch is 
larger than this value, the record batch will still be returned to ensure that 
the consumer can make progress. As such, this is not a absolute maximum. The 
maximum record batch size accepted by the broker is defined via 
message.max.bytes (broker config) or max. [...]
-| *fetchMaxWaitMs* (consumer) | The maximum amount of time the server will 
block before answering the fetch request if there isn't sufficient data to 
immediately satisfy the requirement given by fetch.min.bytes. | 500ms | int
-| *fetchMinBytes* (consumer) | The minimum amount of data the server should 
return for a fetch request. If insufficient data is available the request will 
wait for that much data to accumulate before answering the request. The default 
setting of 1 byte means that fetch requests are answered as soon as a single 
byte of data is available or the fetch request times out waiting for data to 
arrive. Setting this to something greater than 1 will cause the server to wait 
for larger amounts of da [...]
-| *groupId* (consumer) | A unique string that identifies the consumer group 
this consumer belongs to. This property is required if the consumer uses either 
the group management functionality by using subscribe(topic) or the Kafka-based 
offset management strategy. |  | String
-| *groupInstanceId* (consumer) | A unique identifier of the consumer instance 
provided by the end user. Only non-empty strings are permitted. If set, the 
consumer is treated as a static member, which means that only one instance with 
this ID is allowed in the consumer group at any time. This can be used in 
combination with a larger session timeout to avoid group rebalances caused by 
transient unavailability (e.g. process restarts). If not set, the consumer will 
join the group as a dynami [...]
-| *heartbeatIntervalMs* (consumer) | The expected time between heartbeats to 
the consumer coordinator when using Kafka's group management facilities. 
Heartbeats are used to ensure that the consumer's session stays active and to 
facilitate rebalancing when new consumers join or leave the group. The value 
must be set lower than session.timeout.ms, but typically should be set no 
higher than 1/3 of that value. It can be adjusted even lower to control the 
expected time for normal rebalances.  [...]
-| *isolationLevel* (consumer) | Controls how to read messages written 
transactionally. If set to read_committed, consumer.poll() will only return 
transactional messages which have been committed. If set to read_uncommitted' 
(the default), consumer.poll() will return all messages, even transactional 
messages which have been aborted. Non-transactional messages will be returned 
unconditionally in either mode. Messages will always be returned in offset 
order. Hence, in read_committed mode, c [...]
-| *keyDeserializer* (consumer) | Deserializer class for key that implements 
the org.apache.kafka.common.serialization.Deserializer interface. | 
org.apache.kafka.common.serialization.StringDeserializer | String
-| *maxPartitionFetchBytes* (consumer) | The maximum amount of data 
per-partition the server will return. Records are fetched in batches by the 
consumer. If the first record batch in the first non-empty partition of the 
fetch is larger than this limit, the batch will still be returned to ensure 
that the consumer can make progress. The maximum record batch size accepted by 
the broker is defined via message.max.bytes (broker config) or 
max.message.bytes (topic config). See fetch.max.bytes f [...]
-| *maxPollIntervalMs* (consumer) | The maximum delay between invocations of 
poll() when using consumer group management. This places an upper bound on the 
amount of time that the consumer can be idle before fetching more records. If 
poll() is not called before expiration of this timeout, then the consumer is 
considered failed and the group will rebalance in order to reassign the 
partitions to another member. For consumers using a non-null group.instance.id 
which reach this timeout, parti [...]
-| *maxPollRecords* (consumer) | The maximum number of records returned in a 
single call to poll(). | 500 | int
-| *partitionAssignmentStrategy* (consumer) | A list of class names or class 
types, ordered by preference, of supported partition assignment strategies that 
the client will use to distribute partition ownership amongst consumer 
instances when group management is used.In addition to the default class 
specified below, you can use the 
org.apache.kafka.clients.consumer.RoundRobinAssignorclass for round robin 
assignments of partitions to consumers. Implementing the 
org.apache.kafka.clients.con [...]
-| *seekToOffset* (consumer) | Set if KafkaConsumer will read from a particular 
offset on startup. This config will take precedence over seekTo config |  | Long
-| *seekToPosition* (consumer) | Set if KafkaConsumer will read from beginning 
or end on startup: beginning : read from beginning end : read from end. There 
are 2 enums and the value can be one of: beginning, end |  | String
-| *sessionTimeoutMs* (consumer) | The timeout used to detect client failures 
when using Kafka's group management facility. The client sends periodic 
heartbeats to indicate its liveness to the broker. If no heartbeats are 
received by the broker before the expiration of this session timeout, then the 
broker will remove this client from the group and initiate a rebalance. Note 
that the value must be in the allowable range as configured in the broker 
configuration by group.min.session.timeou [...]
-| *valueDeserializer* (consumer) | Deserializer class for value that 
implements the org.apache.kafka.common.serialization.Deserializer interface. | 
org.apache.kafka.common.serialization.StringDeserializer | String
-| *acks* (producer) | The number of acknowledgments the producer requires the 
leader to have received before considering a request complete. This controls 
the durability of records that are sent. The following settings are allowed: 
acks=0 If set to zero then the producer will not wait for any acknowledgment 
from the server at all. The record will be immediately added to the socket 
buffer and considered sent. No guarantee can be made that the server has 
received the record in this case, a [...]
-| *batchSize* (producer) | The producer will attempt to batch records together 
into fewer requests whenever multiple records are being sent to the same 
partition. This helps performance on both the client and the server. This 
configuration controls the default batch size in bytes. No attempt will be made 
to batch records larger than this size. Requests sent to brokers will contain 
multiple batches, one for each partition with data available to be sent. A 
small batch size will make batchi [...]
-| *bufferMemory* (producer) | The total bytes of memory the producer can use 
to buffer records waiting to be sent to the server. If records are sent faster 
than they can be delivered to the server the producer will block for 
max.block.ms after which it will throw an exception.This setting should 
correspond roughly to the total memory the producer will use, but is not a hard 
bound since not all memory the producer uses is used for buffering. Some 
additional memory will be used for compres [...]
-| *compressionType* (producer) | The compression type for all data generated 
by the producer. The default is none (i.e. no compression). Valid values are 
none, gzip, snappy, lz4, or zstd. Compression is of full batches of data, so 
the efficacy of batching will also impact the compression ratio (more batching 
means better compression). | none | String
-| *deliveryTimeoutMs* (producer) | An upper bound on the time to report 
success or failure after a call to send() returns. This limits the total time 
that a record will be delayed prior to sending, the time to await 
acknowledgement from the broker (if expected), and the time allowed for 
retriable send failures. The producer may report failure to send a record 
earlier than this config if either an unrecoverable error is encountered, the 
retries have been exhausted, or the record is added  [...]
-| *enableIdempotence* (producer) | When set to 'true', the producer will 
ensure that exactly one copy of each message is written in the stream. If 
'false', producer retries due to broker failures, etc., may write duplicates of 
the retried message in the stream. Note that enabling idempotence requires 
max.in.flight.requests.per.connection to be less than or equal to 5, retries to 
be greater than 0 and acks must be 'all'. If these values are not explicitly 
set by the user, suitable values  [...]
-| *keySerializer* (producer) | Serializer class for key that implements the 
org.apache.kafka.common.serialization.Serializer interface. | 
org.apache.kafka.common.serialization.StringSerializer | String
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy 
(on the first message). By starting lazy you can use this to allow CamelContext 
and routes to startup in situations where a producer may otherwise fail during 
starting and cause the route to fail being started. By deferring this startup 
to be lazy then the startup failure can be handled during routing messages via 
Camel's routing error handlers. Beware that when the first message is processed 
then creating and [...]
-| *lingerMs* (producer) | The producer groups together any records that arrive 
in between request transmissions into a single batched request. Normally this 
occurs only under load when records arrive faster than they can be sent out. 
However in some circumstances the client may want to reduce the number of 
requests even under moderate load. This setting accomplishes this by adding a 
small amount of artificial delay&mdash;that is, rather than immediately sending 
out a record the producer  [...]
-| *maxBlockMs* (producer) | The configuration controls how long 
KafkaProducer.send() and KafkaProducer.partitionsFor() will block.These methods 
can be blocked either because the buffer is full or metadata 
unavailable.Blocking in the user-supplied serializers or partitioner will not 
be counted against this timeout. | 1m | long
-| *maxInFlightRequestsPer{zwsp}Connection* (producer) | The maximum number of 
unacknowledged requests the client will send on a single connection before 
blocking. Note that if this setting is set to be greater than 1 and there are 
failed sends, there is a risk of message re-ordering due to retries (i.e., if 
retries are enabled). | 5 | int
-| *maxRequestSize* (producer) | The maximum size of a request in bytes. This 
setting will limit the number of record batches the producer will send in a 
single request to avoid sending huge requests. This is also effectively a cap 
on the maximum uncompressed record batch size. Note that the server has its own 
cap on the record batch size (after compression if compression is enabled) 
which may be different from this. | 1048576 | int
-| *metadataMaxIdleMs* (producer) | Controls how long the producer will cache 
metadata for a topic that's idle. If the elapsed time since a topic was last 
produced to exceeds the metadata idle duration, then the topic's metadata is 
forgotten and the next access to it will force a metadata fetch request. | 5m | 
long
-| *partitionerClass* (producer) | Partitioner class that implements the 
org.apache.kafka.clients.producer.Partitioner interface. | 
org.apache.kafka.clients.producer.internals.DefaultPartitioner | String
-| *retries* (producer) | Setting a value greater than zero will cause the 
client to resend any record whose send fails with a potentially transient 
error. Note that this retry is no different than if the client resent the 
record upon receiving the error. Allowing retries without setting 
max.in.flight.requests.per.connection to 1 will potentially change the ordering 
of records because if two batches are sent to a single partition, and the first 
fails and is retried but the second succeeds [...]
-| *transactionalId* (producer) | The TransactionalId to use for transactional 
delivery. This enables reliability semantics which span multiple producer 
sessions since it allows the client to guarantee that transactions using the 
same TransactionalId have been completed prior to starting any new 
transactions. If no TransactionalId is provided, then the producer is limited 
to idempotent delivery. If a TransactionalId is configured, enable.idempotence 
is implied. By default the TransactionI [...]
-| *transactionTimeoutMs* (producer) | The maximum amount of time in ms that 
the transaction coordinator will wait for a transaction status update from the 
producer before proactively aborting the ongoing transaction.If this value is 
larger than the transaction.max.timeout.ms setting in the broker, the request 
will fail with a InvalidTransactionTimeout error. | 1m | int
-| *valueSerializer* (producer) | Serializer class for value that implements 
the org.apache.kafka.common.serialization.Serializer interface. | 
org.apache.kafka.common.serialization.StringSerializer | String
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used 
for automatic autowiring options (the option must be marked as autowired) by 
looking up in the registry to find if there is a single instance of matching 
type, which then gets configured on the component. This can be used for 
automatic configuring JDBC data sources, JMS connection factories, AWS Clients, 
etc. | true | boolean
-| *vertx* (advanced) | *Autowired* To use an existing vertx instead of 
creating a new instance |  | Vertx
-| *vertxOptions* (advanced) | To provide a custom set of vertx options for 
configuring vertx |  | VertxOptions
-| *saslClientCallbackHandlerClass* (security) | The fully qualified name of a 
SASL client callback handler class that implements the 
AuthenticateCallbackHandler interface. |  | String
-| *saslJaasConfig* (security) | JAAS login context parameters for SASL 
connections in the format used by JAAS configuration files. JAAS configuration 
file format is described here. The format for the value is: 'loginModuleClass 
controlFlag (optionName=optionValue);'. For brokers, the config must be 
prefixed with listener prefix and SASL mechanism name in lower-case. For 
example, 
listener.name.sasl_ssl.scram-sha-256.sasl.jaas.config=com.example.ScramLoginModule
 required; |  | String
-| *saslKerberosKinitCmd* (security) | Kerberos kinit command path. | 
/usr/bin/kinit | String
-| *saslKerberosMinTimeBefore{zwsp}Relogin* (security) | Login thread sleep 
time between refresh attempts. | 60000 | long
-| *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
-| *saslKerberosTicketRenewJitter* (security) | Percentage of random jitter 
added to the renewal time. | 0.05 | double
-| *saslKerberosTicketRenewWindow{zwsp}Factor* (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
-| *saslLoginCallbackHandlerClass* (security) | The fully qualified name of a 
SASL login callback handler class that implements the 
AuthenticateCallbackHandler interface. For brokers, login callback handler 
config must be prefixed with listener prefix and SASL mechanism name in 
lower-case. For example, 
listener.name.sasl_ssl.scram-sha-256.sasl.login.callback.handler.class=com.example.CustomScramLoginCallbackHandler
 |  | String
-| *saslLoginClass* (security) | The fully qualified name of a class that 
implements the Login interface. For brokers, login config must be prefixed with 
listener prefix and SASL mechanism name in lower-case. For example, 
listener.name.sasl_ssl.scram-sha-256.sasl.login.class=com.example.CustomScramLogin
 |  | String
-| *saslLoginRefreshBufferSeconds* (security) | The amount of buffer time 
before credential expiration to maintain when refreshing a credential, in 
seconds. If a refresh would otherwise occur closer to expiration than the 
number of buffer seconds then the refresh will be moved up to maintain as much 
of the buffer time as possible. Legal values are between 0 and 3600 (1 hour); a 
default value of 300 (5 minutes) is used if no value is specified. This value 
and sasl.login.refresh.min.period. [...]
-| *saslLoginRefreshMinPeriod{zwsp}Seconds* (security) | The desired minimum 
time for the login refresh thread to wait before refreshing a credential, in 
seconds. Legal values are between 0 and 900 (15 minutes); a default value of 60 
(1 minute) is used if no value is specified. This value and 
sasl.login.refresh.buffer.seconds are both ignored if their sum exceeds the 
remaining lifetime of a credential. Currently applies only to OAUTHBEARER. | 60 
| short
-| *saslLoginRefreshWindowFactor* (security) | Login refresh thread will sleep 
until the specified window factor relative to the credential's lifetime has 
been reached, at which time it will try to refresh the credential. Legal values 
are between 0.5 (50%) and 1.0 (100%) inclusive; a default value of 0.8 (80%) is 
used if no value is specified. Currently applies only to OAUTHBEARER. | 0.8 | 
double
-| *saslLoginRefreshWindowJitter* (security) | The maximum amount of random 
jitter relative to the credential's lifetime that is added to the login refresh 
thread's sleep time. Legal values are between 0 and 0.25 (25%) inclusive; a 
default value of 0.05 (5%) is used if no value is specified. Currently applies 
only to OAUTHBEARER. | 0.05 | double
-| *saslMechanism* (security) | SASL mechanism used for client connections. 
This may be any mechanism for which a security provider is available. GSSAPI is 
the default mechanism. | GSSAPI | String
-| *securityProtocol* (security) | Protocol used to communicate with brokers. 
Valid values are: PLAINTEXT, SSL, SASL_PLAINTEXT, SASL_SSL. | PLAINTEXT | String
-| *securityProviders* (security) | A list of configurable creator classes each 
returning a provider implementing security algorithms. These classes should 
implement the org.apache.kafka.common.security.auth.SecurityProviderCreator 
interface. |  | 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
-| *sslEnabledProtocols* (security) | The list of protocols enabled for SSL 
connections. The default is 'TLSv1.2,TLSv1.3' when running with Java 11 or 
newer, 'TLSv1.2' otherwise. With the default value for Java 11, clients and 
servers will prefer TLSv1.3 if both support it and fallback to TLSv1.2 
otherwise (assuming both support at least TLSv1.2). This default should be fine 
for most cases. Also see the config documentation for ssl.protocol. | 
TLSv1.2,TLSv1.3 | String
-| *sslEndpointIdentification{zwsp}Algorithm* (security) | The endpoint 
identification algorithm to validate server hostname using server certificate. 
| https | String
-| *sslEngineFactoryClass* (security) | The class of type 
org.apache.kafka.common.security.auth.SslEngineFactory to provide SSLEngine 
objects. Default value is 
org.apache.kafka.common.security.ssl.DefaultSslEngineFactory |  | String
-| *sslKeymanagerAlgorithm* (security) | The algorithm used by key manager 
factory for SSL connections. Default value is the key manager factory algorithm 
configured for the Java Virtual Machine. | SunX509 | String
-| *sslKeyPassword* (security) | The password of the private key in the key 
store file. This is optional for client. |  | String
-| *sslKeystoreLocation* (security) | The location of the key store file. This 
is optional for client and can be used for two-way authentication for client. | 
 | String
-| *sslKeystorePassword* (security) | The store password for the key store 
file. This is optional for client and only needed if ssl.keystore.location is 
configured. |  | String
-| *sslKeystoreType* (security) | The file format of the key store file. This 
is optional for client. | JKS | String
-| *sslProtocol* (security) | The SSL protocol used to generate the SSLContext. 
The default is 'TLSv1.3' when running with Java 11 or newer, 'TLSv1.2' 
otherwise. This value should be fine for most use cases. Allowed values in 
recent JVMs are 'TLSv1.2' and 'TLSv1.3'. 'TLS', 'TLSv1.1', 'SSL', 'SSLv2' and 
'SSLv3' may be supported in older JVMs, but their usage is discouraged due to 
known security vulnerabilities. With the default value for this config and 
'ssl.enabled.protocols', clients wil [...]
-| *sslProvider* (security) | The name of the security provider used for SSL 
connections. Default value is the default security provider of the JVM. |  | 
String
-| *sslSecureRandomImplementation* (security) | The SecureRandom PRNG 
implementation to use for SSL cryptography operations. |  | 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
-| *sslTruststorePassword* (security) | The password for the trust store file. 
If a password is not set access to the truststore is still available, but 
integrity checking is disabled. |  | String
-| *sslTruststoreType* (security) | The file format of the trust store file. | 
JKS | String
-|===
-// component options: END
-
-For more information about Producer/Consumer configuration:
-
-http://kafka.apache.org/documentation.html#newconsumerconfigs[http://kafka.apache.org/documentation.html#newconsumerconfigs]
-http://kafka.apache.org/documentation.html#producerconfigs[http://kafka.apache.org/documentation.html#producerconfigs]
-
-== Async Consumer and Producer
-
-This component implements the async Consumer and producer.
-
-This allows camel route to consume and produce events asynchronously without 
blocking any threads.
-
-
-== Usage
-
-=== Message headers set by the component consumer
-The following headers are available when consuming messages from Kafka.
-
-[width="100%",cols="10%,10%,10%,70%",options="header",]
-|=======================================================================
-|Header |Variable Name |Type |Description
-
-|`CamelVertxKafkaPartitionId`| `VertxKafkaConstants.PARTITION_ID`|`Integer`| 
The partition identifier where the message were consumed from.
-|`CamelVertxKafkaMessageKey`| `VertxKafkaConstants.MESSAGE_KEY`|`String`| The 
message key.
-|`CamelVertxKafkaTopic`| `VertxKafkaConstants.TOPIC`|`String`| The topic from 
where the message originated.
-|`CamelVertxKafkaOffset`| `VertxKafkaConstants.OFFSET`|`Long`| The offset of 
the message in Kafka topic.
-|`CamelVertxKafkaHeaders`| 
`VertxKafkaConstants.HEADERS`|`List<io.vertx.kafka.client.producer.KafkaHeader>`|
 The record Kafka headers.
-|`CamelVertxKafkaTimestamp`| `VertxKafkaConstants.TIMESTAMP`|`Long`| The 
timestamp of this record.
-|=======================================================================
-
-=== Message headers evaluated by the component producer
-Before sending a message to Kafka you can configure the following headers.
-
-[width="100%",cols="10%,10%,10%,70%",options="header",]
-|=======================================================================
-|Header |Variable Name |Type |Description
-
-|`CamelVertxKafkaPartitionId`| `VertxKafkaConstants.PARTITION_ID`|`Integer`| 
Explicitly specify the partition identifier, for example partition `0`. This 
will trigger the component to produce all the massages to the specified 
partition.
-|`CamelVertxKafkaMessageKey`| `VertxKafkaConstants.MESSAGE_KEY`|`String`| 
Explicitly specify the message key, if partition ID is not specified, this will 
trigger the messages to go into the same partition.
-|`CamelVertxKafkaTopic`| `VertxKafkaConstants.TOPIC`|`String`| Explicitly 
specify the topic to where produce the messages, this will be *preserved* in 
case of header aggregation.
-|`CamelVertxKafkaOverrideTopic`| 
`VertxKafkaConstants.OVERRIDE_TOPIC`|`String`| Explicitly specify the topic to 
where produce the messages, this will *not be preserved* in case of header 
aggregation and it will take *precedence* over `CamelVertxKafkaTopic`.
-|=======================================================================
-
-If you want to send a message to a dynamic topic then use 
`VertxKafkaConstants.OVERRIDE_TOPIC` as its used as a one-time header
-that are not send along the message, as its removed in the producer.
-
-=== Message headers set by the component producer
-After the message is sent to Kafka, the following headers are available
-
-[width="100%",cols="10%,10%,10%,70%",options="header",]
-|=======================================================================
-|Header |Variable Name |Type |Description
-
-|`CamelVertxKafkaRecordMetadata`| 
`VertxKafkaConstants.RECORD_METADATA`|`List<io.vertx.kafka.client.producer.RecordMetadata>`|
 Produced record metadata.
-|=======================================================================
-
-=== Message body type
-Currently, the component supports the following value serializers for the body 
message on the producer side:
-
-* `org.apache.kafka.common.serialization.StringSerializer`: *Default* produce 
the message as `String`.
-* `org.apache.kafka.common.serialization.ByteArraySerializer`: Produce the 
messages as `byte[]`.
-* `org.apache.kafka.common.serialization.ByteBufferSerializer` : Produce the 
messages as `ByteBuffer`.
-
-On the consumer side, Camel will utilize Camel TypeConverter to automatically 
convert the messages, or you can specify the marshal/unmarshal mechanism in the 
route.
-
-=== Kafka Headers propagation
-
-When consuming messages from Kafka, Kafka record headers will be propagated to 
camel exchange headers automatically.
-Producing flow backed by same behaviour - camel headers of particular exchange 
will be propagated to kafka message headers.
-
-Since vertx kafka headers allows only `io.vertx.core.buffer.Buffer` values, in 
order camel exchnage header to be propagated its value should be serialized to 
`io.vertx.core.buffer.Buffer` in case the type is not supported by the 
component, e.g `Float`,
-otherwise header will be skipped.
-
-Following header value types are supported when producing the message *from* 
camel *to* kafka: `String`, `Integer`, `Long`, `Double`, `Boolean`, `byte[]`, 
`io.vertx.core.buffer.Buffer`.
-
-Note: all headers propagated *from* kafka *to* camel exchange will contain 
`io.vertx.core.buffer.Buffer` value by default.
-
-Having the support of `io.vertx.core.buffer.Buffer` header type, will allow 
you un-wrap the header to any type without much knowledge in `byte[]`. For 
example:
-```
-from("direct")
-    .process(exchange -> {
-        // set kafka header
-        exchange.getIn().setHeader("MyHeader", 2.0);
-        exchange.getIn().setBody("test event");
-})
-.to("vertx-kafka:test_topic?bootstrapServers=kafka9092")
-```
-Then later:
-```
-from("vertx-kafka:test_topic?bootstrapServers=kafka9092")
-    .process(exchange -> {
-        // get our kafka header
-        Buffer headerBuffer = exchange.getIn().getHeader("MyHeader");
-        System.out.println(headerBuffer.getDouble(0); // it will print 2.0
-})
-.to("direct)
-```
-
-By default all headers are being filtered by `KafkaHeaderFilterStrategy`.
-Strategy filters out headers which start with `Camel` or `org.apache.camel` 
prefixes.
-
-=== Consumer Example
-Here is the minimal route you need in order to read messages from Kafka.
-
-[source,java]
-----
-from("vertx-kafka:test?bootstrapServers=localhost:9092")
-    .log("Message received from Kafka : ${body}")
-    .log("    on the topic ${headers[VertxKafkaConstants.TOPIC]}")
-    .log("    on the partition ${headers[VertxKafkaConstants.PARTITION_ID]}")
-    .log("    with the offset ${headers[VertxKafkaConstants.OFFSET]}")
-    .log("    with the key ${headers[VertxKafkaConstants.MESSAGE_KEY]}")
-----
-
-If you need to consume messages from multiple topics you can use a comma 
separated list of topic names
-
-[source,java]
-----
-from("vertx-kafka:test1,test2?bootstrapServers=localhost:9092")
-    .log("Message received from Kafka : ${body}")
-    .log("    on the topic ${headers[VertxKafkaConstants.TOPIC]}")
-    .log("    on the partition ${headers[VertxKafkaConstants.PARTITION_ID]}")
-    .log("    with the offset ${headers[VertxKafkaConstants.OFFSET]}")
-    .log("    with the key ${headers[VertxKafkaConstants.MESSAGE_KEY]}")
-----
-
-=== Producer Example
-
-Here is the minimal route you need in order to write messages to Kafka.
-
-```
-from("direct")
-    .process(exchange -> {
-        // set kafka header
-        exchange.getIn().setHeader("MyHeader", 2.0);
-        // set message key
-        exchange.getIn().setHeader(VertxKafkaConstants.MESSAGE_KEY, "123456");
-        // set message body
-        exchange.getIn().setBody("test event");
-})
-.to("vertx-kafka:test_topic?bootstrapServers=kafka9092")
-```
-
-Also, the component supports as well *aggregation* of messages by sending 
events as *iterable* of either Exchanges/Messages or normal data (e.g: list of 
Strings). For example:
-```
-from("direct:start")
-.process(exchange -> {
-        final List<String> messages = new LinkedList<>();
-        messages.add("Test String Message 1");
-        messages.add("Test String Message 2");
-        // send our messages to partition 0
-        exchange.getIn().setHeader(VertxKafkaConstants.PARTITION_ID, 0);
-        // set message body
-        exchange.getIn().setBody(messages);
-})
-.to("vertx-kafka:test_topic?bootstrapServers=kafka9092")
-```
-
-
-include::camel-spring-boot::page$vertx-kafka-starter.adoc[]
diff --git a/docs/components/modules/ROOT/nav.adoc 
b/docs/components/modules/ROOT/nav.adoc
index 4104888..406ed2b 100644
--- a/docs/components/modules/ROOT/nav.adoc
+++ b/docs/components/modules/ROOT/nav.adoc
@@ -337,6 +337,7 @@
 ** xref:velocity-component.adoc[Velocity]
 ** xref:vertx-component.adoc[Vert.x]
 ** xref:vertx-http-component.adoc[Vert.x HTTP Client]
+** xref:vertx-kafka-component.adoc[Vert.x Kafka]
 ** xref:vertx-websocket-component.adoc[Vert.x WebSocket]
 ** xref:vm-component.adoc[VM]
 ** xref:weather-component.adoc[Weather]
diff --git a/docs/components/modules/ROOT/pages/github-component.adoc 
b/docs/components/modules/ROOT/pages/github-component.adoc
index 8b92578..cb9bee6 100644
--- a/docs/components/modules/ROOT/pages/github-component.adoc
+++ b/docs/components/modules/ROOT/pages/github-component.adoc
@@ -51,10 +51,6 @@ for this component:
 github://endpoint[?options]
 ---------------------------
 
-== Mandatory Options:
-
-Note that these can be configured directly through the endpoint.
-
 
 // component options: START
 The GitHub component supports 4 options, which are listed below.
@@ -130,8 +126,17 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 
+== Configuring authentication
+
+The github component requires to be configured with an authentication token on 
either the component or endpoint level.
 
+For example to set it on the component:
 
+[source,java]
+----
+GitHubComponent ghc = context.getComponent("github", GitHubComponent.class);
+ghc.setOauthToken("mytoken");
+----
 
 == Consumer Endpoints:
 

Reply via email to