Consumer Contract — Kafka Clients for Consuming Records

Consumer is the abstraction of Kafka clients that can subscribe to topics or assign partitions to consume records from.

Consumer is also a Java java.io.Closeable and so can be considered as a "a source of data that can be closed". A Consumer instance should always be closed to release system resources.

Table 1. Consumer Contract
Method Description

assign

void assign(Collection<TopicPartition> partitions)

assignment

Set<TopicPartition> assignment()

beginningOffsets

Map<TopicPartition, Long> beginningOffsets(
  Collection<TopicPartition> partitions)
Map<TopicPartition, Long> beginningOffsets(
  Collection<TopicPartition> partitions,
  Duration timeout)

close

void close()
void close(Duration timeout)

Closes the Consumer to release system resources used

commitAsync

void commitAsync()
void commitAsync(
  Map<TopicPartition, OffsetAndMetadata> offsets,
  OffsetCommitCallback callback)
void commitAsync(
  OffsetCommitCallback callback)

commitSync

void commitSync()
void commitSync(
  Duration timeout)
void commitSync(
  Map<TopicPartition, OffsetAndMetadata> offsets)
void commitSync(
  Map<TopicPartition, OffsetAndMetadata> offsets,
  Duration timeout)

committed

OffsetAndMetadata committed(
  TopicPartition partition)
OffsetAndMetadata committed(
  TopicPartition partition,
  Duration timeout)

endOffsets

Map<TopicPartition, Long> endOffsets(
  Collection<TopicPartition> partitions)
Map<TopicPartition, Long> endOffsets(
  Collection<TopicPartition> partitions,
  Duration timeout)

listTopics

Map<String, List<PartitionInfo>> listTopics()
Map<String, List<PartitionInfo>> listTopics(
  Duration timeout)

metrics

Map<MetricName, ? extends Metric> metrics()

offsetsForTimes

Map<TopicPartition, OffsetAndTimestamp> offsetsForTimes(
  Map<TopicPartition, Long> timestampsToSearch)
Map<TopicPartition, OffsetAndTimestamp> offsetsForTimes(
  Map<TopicPartition, Long> timestampsToSearch,
  Duration timeout)

partitionsFor

List<PartitionInfo> partitionsFor(
  String topic)
List<PartitionInfo> partitionsFor(
  String topic,
  Duration timeout)

pause

void pause(Collection<TopicPartition> partitions)

paused

Set<TopicPartition> paused()

poll

ConsumerRecords<K, V> poll(Duration timeout)

position

long position(
  TopicPartition partition)
long position(
  TopicPartition partition,
  Duration timeout)

resume

void resume(Collection<TopicPartition> partitions)

seek

void seek(TopicPartition partition, long offset)

seekToBeginning

void seekToBeginning(Collection<TopicPartition> partitions)

seekToEnd

void seekToEnd(Collection<TopicPartition> partitions)

subscribe

void subscribe(
  Collection<String> topics)
void subscribe(
  Collection<String> topics,
  ConsumerRebalanceListener callback)
void subscribe(
  Pattern pattern)
void subscribe(
  Pattern pattern,
  ConsumerRebalanceListener callback)

subscription

Set<String> subscription()

unsubscribe

void unsubscribe()

wakeup

void wakeup()
Table 2. Consumers
Consumer Description

KafkaConsumer

Primary Kafka client

MockConsumer

Used for unit testing

results matching ""

    No results matching ""