org.apache.kafka.common.serialization.Deserializer
interface.org.apache.kafka.common.serialization.Deserializer
interface.host1:port1,host2:port2,...
. Since these servers are just used for the initial connection to discover the full cluster membership (which may change dynamically), this list need not contain the full set of servers (you may want more than one, though, in case a server is down).subscribe(topic)
or the Kafka-based offset management strategy.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.message.max.bytes
(broker config) or max.message.bytes
(topic config). See fetch.max.bytes for limiting the consumer request size.group.min.session.timeout.ms
and group.max.session.timeout.ms
.use_all_dns_ips
then, when the lookup returns multiple IP addresses for a hostname, they will all be attempted to connect to before failing the connection. Applies to both bootstrap and advertised servers. If the value is resolve_canonical_bootstrap_servers_only
each entry will be resolved and expanded into a list of canonical names.timeout
parameter.message.max.bytes
(broker config) or max.message.bytes
(topic config). Note that the consumer performs multiple fetches in parallel.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, consumer.poll() will only return messages up to the last stable offset (LSO), which is the one less than the offset of the first open transaction. In particular any messages appearing after messages belonging to ongoing transactions will be withheld until the relevant transaction has been completed. As a result, read_committed
consumers will not be able to read up to the high watermark when there are in flight transactions.
Further, when in read_committed
the seekToEnd method will return the LSO
group.instance.id
which reach this timeout, partitions will not be immediately reassigned. Instead, the consumer will stop sending heartbeats and partitions will be reassigned after expiration of session.timeout.ms
. This mirrors the behavior of a static consumer which has shutdown.org.apache.kafka.clients.consumer.ConsumerPartitionAssignor
interface allows you to plug in a custom assignment strategy.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;enable.auto.commit
is set to true
.org.apache.kafka.clients.consumer.ConsumerInterceptor
interface allows you to intercept (and possibly mutate) records received by the consumer. By default, there are no interceptors.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.org.apache.kafka.common.security.auth.SecurityProviderCreator
interface.