2 Home
gitea_admin edited this page 2026-03-11 14:37:56 +00:00

Kafka Batch with Apicurio Registry secured with Keycloak Source

Receive data from Kafka topics in batch on an insecure broker combined with Apicurio Registry secured with Keycloak and commit them manually through KafkaManualCommit or auto commit.

Metadata

Property Value
Type source
Group Kafka
Namespace Kafka
Support Level Preview
Provider Apache Software Foundation

Properties

Name Type Required Default Description
topic string Comma separated list of Kafka topic names
bootstrapServers string Comma separated list of Kafka Broker URLs
autoCommitEnable boolean true If true, periodically commit to ZooKeeper the offset of messages already fetched by the consumer
allowManualCommit boolean false Whether to allow doing manual commits
pollOnError string ERROR_HANDLER What to do if kafka threw an exception while polling for new messages. There are 5 enums and the value can be one of DISCARD, ERROR_HANDLER, RECONNECT, RETRY, STOP
autoOffsetReset string latest What to do when there is no initial offset. There are 3 enums and the value can be one of latest, earliest, none
consumerGroup string A string that uniquely identifies the group of consumers to which this source belongs
deserializeHeaders boolean true When enabled the Kamelet source will deserialize all message headers to String representation.
valueDeserializer string io.apicurio.registry.serde.avro.AvroKafkaDeserializer Deserializer class for value that implements the Deserializer interface.
apicurioRegistryUrl string The Apicurio Schema Registry URL
avroDatumProvider string io.apicurio.registry.serde.avro.ReflectAvroDatumProvider How to read data with Avro
batchSize int 500 The maximum number of records returned in a single call to poll()
pollTimeout int 5000 The timeout used when polling the KafkaConsumer
maxPollIntervalMs int The maximum delay between invocations of poll() when using consumer group management
batchingIntervalMs int In consumer batching mode, then this option is specifying a time in millis, to trigger batch completion eager when the current batch size has not reached the maximum size defined by maxPollRecords. Notice the trigger is not exact at the given interval, as this can only happen between kafka polls (see pollTimeoutMs option).
apicurioAuthServiceUrl string The URL for Keycloak instance securing the Apicurio Registry
apicurioAuthRealm string The Realm in Keycloak instance securing the Apicurio Registry
apicurioAuthClientId string The Client ID in Keycloak instance securing the Apicurio Registry
apicurioAuthClientSecret string The Client Secret in Keycloak instance securing the Apicurio Registry
apicurioAuthUsername string The Username in Keycloak instance securing the Apicurio Registry
apicurioAuthPassword string The Password in Keycloak instance securing the Apicurio Registry
topicIsPattern boolean false Whether the topic is a pattern (regular expression). This can be used to subscribe to dynamic number of topics matching the pattern.

Dependencies

  • camel:kafka
  • camel:core
  • camel:kamelet
  • mvn:io.quarkus:quarkus-apicurio-registry-avro:3.18.1