Interface KafkaReadStream<K,V>
- All Superinterfaces:
ReadStream<org.apache.kafka.clients.consumer.ConsumerRecord<K,,V>> StreamBase
ReadStream for consuming Kafka ConsumerRecord.
The pause() and resume() provides global control over reading the records from the consumer.
The pause(Set) and resume(Set) provides finer grained control over reading records
for specific Topic/Partition, these are Kafka's specific operations.
-
Method Summary
Modifier and TypeMethodDescriptionManually assign a set of partitions to this consumer.assign(Set<org.apache.kafka.common.TopicPartition> partitions, Handler<AsyncResult<Void>> completionHandler) Manually assign a set of partitions to this consumer.Likeassignment(Handler)but returns aFutureof the asynchronous resultassignment(Handler<AsyncResult<Set<org.apache.kafka.common.TopicPartition>>> handler) Get the set of partitions currently assigned to this consumer.batchHandler(Handler<org.apache.kafka.clients.consumer.ConsumerRecords<K, V>> handler) Set the handler that will be called when a new batch of records is returned from Kafka.beginningOffsets(Set<org.apache.kafka.common.TopicPartition> topicPartitions) LikebeginningOffsets(Set, Handler)but returns aFutureof the asynchronous resultvoidbeginningOffsets(Set<org.apache.kafka.common.TopicPartition> topicPartitions, Handler<AsyncResult<Map<org.apache.kafka.common.TopicPartition, Long>>> handler) Get the first offset for the given partitions.beginningOffsets(org.apache.kafka.common.TopicPartition topicPartition) LikebeginningOffsets(TopicPartition, Handler)but returns aFutureof the asynchronous resultvoidbeginningOffsets(org.apache.kafka.common.TopicPartition topicPartition, Handler<AsyncResult<Long>> handler) Get the first offset for the given partition.close()Close the streamvoidclose(Handler<AsyncResult<Void>> completionHandler) Close the streamFuture<Map<org.apache.kafka.common.TopicPartition,org.apache.kafka.clients.consumer.OffsetAndMetadata>> commit()Commit current offsets for all the subscribed list of topics and partition.voidcommit(Handler<AsyncResult<Map<org.apache.kafka.common.TopicPartition, org.apache.kafka.clients.consumer.OffsetAndMetadata>>> completionHandler) Commit current offsets for all the subscribed list of topics and partition.Future<Map<org.apache.kafka.common.TopicPartition,org.apache.kafka.clients.consumer.OffsetAndMetadata>> commit(Map<org.apache.kafka.common.TopicPartition, org.apache.kafka.clients.consumer.OffsetAndMetadata> offsets) Commit the specified offsets for the specified list of topics and partitions to Kafka.voidcommit(Map<org.apache.kafka.common.TopicPartition, org.apache.kafka.clients.consumer.OffsetAndMetadata> offsets, Handler<AsyncResult<Map<org.apache.kafka.common.TopicPartition, org.apache.kafka.clients.consumer.OffsetAndMetadata>>> completionHandler) Commit the specified offsets for the specified list of topics and partitions to Kafka.Future<org.apache.kafka.clients.consumer.OffsetAndMetadata>committed(org.apache.kafka.common.TopicPartition topicPartition) Likecommitted(TopicPartition, Handler)but returns aFutureof the asynchronous resultvoidcommitted(org.apache.kafka.common.TopicPartition topicPartition, Handler<AsyncResult<org.apache.kafka.clients.consumer.OffsetAndMetadata>> handler) Get the last committed offset for the given partition (whether the commit happened by this process or another).static <K,V> KafkaReadStream<K, V> create(Vertx vertx, KafkaClientOptions options) Create a new KafkaReadStream instancestatic <K,V> KafkaReadStream<K, V> create(Vertx vertx, KafkaClientOptions options, Class<K> keyType, Class<V> valueType) Create a new KafkaReadStream instancestatic <K,V> KafkaReadStream<K, V> create(Vertx vertx, KafkaClientOptions options, org.apache.kafka.common.serialization.Deserializer<K> keyDeserializer, org.apache.kafka.common.serialization.Deserializer<V> valueDeserializer) Create a new KafkaReadStream instancestatic <K,V> KafkaReadStream<K, V> Create a new KafkaReadStream instancestatic <K,V> KafkaReadStream<K, V> Create a new KafkaReadStream instancestatic <K,V> KafkaReadStream<K, V> create(Vertx vertx, Map<String, Object> config, org.apache.kafka.common.serialization.Deserializer<K> keyDeserializer, org.apache.kafka.common.serialization.Deserializer<V> valueDeserializer) Create a new KafkaReadStream instancestatic <K,V> KafkaReadStream<K, V> create(Vertx vertx, Properties config) Create a new KafkaReadStream instancestatic <K,V> KafkaReadStream<K, V> create(Vertx vertx, Properties config, Class<K> keyType, Class<V> valueType) Create a new KafkaReadStream instancestatic <K,V> KafkaReadStream<K, V> create(Vertx vertx, Properties config, org.apache.kafka.common.serialization.Deserializer<K> keyDeserializer, org.apache.kafka.common.serialization.Deserializer<V> valueDeserializer) Create a new KafkaReadStream instancestatic <K,V> KafkaReadStream<K, V> Create a new KafkaReadStream instancestatic <K,V> KafkaReadStream<K, V> create(Vertx vertx, org.apache.kafka.clients.consumer.Consumer<K, V> consumer, KafkaClientOptions options) Create a new KafkaReadStream instancelongdemand()Returns the current demand.endHandler(Handler<Void> endHandler) endOffsets(Set<org.apache.kafka.common.TopicPartition> topicPartitions) LikeendOffsets(Set, Handler)but returns aFutureof the asynchronous resultvoidendOffsets(Set<org.apache.kafka.common.TopicPartition> topicPartitions, Handler<AsyncResult<Map<org.apache.kafka.common.TopicPartition, Long>>> handler) Get the last offset for the given partitions.endOffsets(org.apache.kafka.common.TopicPartition topicPartition) LikeendOffsets(TopicPartition, Handler)but returns aFutureof the asynchronous resultvoidendOffsets(org.apache.kafka.common.TopicPartition topicPartition, Handler<AsyncResult<Long>> handler) Get the last offset for the given partition.exceptionHandler(Handler<Throwable> handler) fetch(long amount) LikelistTopics(Handler)but returns aFutureof the asynchronous resultlistTopics(Handler<AsyncResult<Map<String, List<org.apache.kafka.common.PartitionInfo>>>> handler) Get metadata about partitions for all topics that the user is authorized to view.Future<Map<org.apache.kafka.common.TopicPartition,org.apache.kafka.clients.consumer.OffsetAndTimestamp>> offsetsForTimes(Map<org.apache.kafka.common.TopicPartition, Long> topicPartitionTimestamps) LikeoffsetsForTimes(Map, Handler)but returns aFutureof the asynchronous resultvoidoffsetsForTimes(Map<org.apache.kafka.common.TopicPartition, Long> topicPartitionTimestamps, Handler<AsyncResult<Map<org.apache.kafka.common.TopicPartition, org.apache.kafka.clients.consumer.OffsetAndTimestamp>>> handler) Look up the offsets for the given partitions by timestamp.Future<org.apache.kafka.clients.consumer.OffsetAndTimestamp>offsetsForTimes(org.apache.kafka.common.TopicPartition topicPartition, long timestamp) LikeoffsetsForTimes(TopicPartition, long, Handler)but returns aFutureof the asynchronous resultvoidoffsetsForTimes(org.apache.kafka.common.TopicPartition topicPartition, long timestamp, Handler<AsyncResult<org.apache.kafka.clients.consumer.OffsetAndTimestamp>> handler) * Look up the offset for the given partition by timestamp.partitionsAssignedHandler(Handler<Set<org.apache.kafka.common.TopicPartition>> handler) Set the handler called when topic partitions are assigned to the consumerpartitionsFor(String topic) LikepartitionsFor(String, Handler)but returns aFutureof the asynchronous resultpartitionsFor(String topic, Handler<AsyncResult<List<org.apache.kafka.common.PartitionInfo>>> handler) Get metadata about the partitions for a given topic.partitionsRevokedHandler(Handler<Set<org.apache.kafka.common.TopicPartition>> handler) Set the handler called when topic partitions are revoked to the consumerpause()Suspend fetching from the requested partitions.pause(Set<org.apache.kafka.common.TopicPartition> topicPartitions, Handler<AsyncResult<Void>> completionHandler) Suspend fetching from the requested partitions.paused()Likepaused(Handler)but returns aFutureof the asynchronous resultvoidpaused(Handler<AsyncResult<Set<org.apache.kafka.common.TopicPartition>>> handler) Get the set of partitions that were previously paused by a call topause(Set).Likepoll(Duration, Handler)but returns aFutureof the asynchronous resultvoidpoll(Duration timeout, Handler<AsyncResult<org.apache.kafka.clients.consumer.ConsumerRecords<K, V>>> handler) Executes a poll for getting messages from Kafka.pollTimeout(Duration timeout) Sets the poll timeout for the underlying native Kafka Consumer.position(org.apache.kafka.common.TopicPartition partition) Likeposition(TopicPartition, Handler)but returns aFutureof the asynchronous resultvoidposition(org.apache.kafka.common.TopicPartition partition, Handler<AsyncResult<Long>> handler) Get the offset of the next record that will be fetched (if a record with that offset exists).resume()Resume specified partitions which have been paused with pause.resume(Set<org.apache.kafka.common.TopicPartition> topicPartitions, Handler<AsyncResult<Void>> completionHandler) Resume specified partitions which have been paused with pause.seek(org.apache.kafka.common.TopicPartition topicPartition, long offset) Overrides the fetch offsets that the consumer will use on the next poll.seek(org.apache.kafka.common.TopicPartition topicPartition, long offset, Handler<AsyncResult<Void>> completionHandler) Overrides the fetch offsets that the consumer will use on the next poll.seekToBeginning(Set<org.apache.kafka.common.TopicPartition> topicPartitions) Seek to the first offset for each of the given partitions.seekToBeginning(Set<org.apache.kafka.common.TopicPartition> topicPartitions, Handler<AsyncResult<Void>> completionHandler) Seek to the first offset for each of the given partitions.Seek to the last offset for each of the given partitions.seekToEnd(Set<org.apache.kafka.common.TopicPartition> topicPartitions, Handler<AsyncResult<Void>> completionHandler) Seek to the last offset for each of the given partitions.Subscribe to all topics matching specified pattern to get dynamically assigned partitions.subscribe(Pattern pattern, Handler<AsyncResult<Void>> completionHandler) Subscribe to all topics matching specified pattern to get dynamically assigned partitions.Subscribe to the given list of topics to get dynamically assigned partitions.Subscribe to the given list of topics to get dynamically assigned partitions.Likesubscription(Handler)but returns aFutureof the asynchronous resultsubscription(Handler<AsyncResult<Set<String>>> handler) Get the current subscription.Unsubscribe from topics currently subscribed with subscribe.unsubscribe(Handler<AsyncResult<Void>> completionHandler) Unsubscribe from topics currently subscribed with subscribe.unwrap()Methods inherited from interface io.vertx.core.streams.ReadStream
collect, pipe, pipeTo, pipeTo
-
Method Details
-
exceptionHandler
- Specified by:
exceptionHandlerin interfaceReadStream<K>- Specified by:
exceptionHandlerin interfaceStreamBase
-
handler
KafkaReadStream<K,V> handler(Handler<org.apache.kafka.clients.consumer.ConsumerRecord<K, V>> handler) - Specified by:
handlerin interfaceReadStream<K>
-
pause
KafkaReadStream<K,V> pause()- Specified by:
pausein interfaceReadStream<K>
-
resume
KafkaReadStream<K,V> resume()- Specified by:
resumein interfaceReadStream<K>
-
fetch
- Specified by:
fetchin interfaceReadStream<K>
-
endHandler
- Specified by:
endHandlerin interfaceReadStream<K>
-
demand
long demand()Returns the current demand.-
If the stream is in flowing mode will return
- If the stream is in fetch mode, will return the current number of elements still to be delivered or 0 if paused.
Long.MAX_VALUE.- Returns:
- current demand
-
create
Create a new KafkaReadStream instance- Parameters:
vertx- Vert.x instance to useconfig- Kafka consumer configuration- Returns:
- an instance of the KafkaReadStream
-
create
static <K,V> KafkaReadStream<K,V> create(Vertx vertx, Properties config, Class<K> keyType, Class<V> valueType) Create a new KafkaReadStream instance- Parameters:
vertx- Vert.x instance to useconfig- Kafka consumer configurationkeyType- class type for the key deserializationvalueType- class type for the value deserialization- Returns:
- an instance of the KafkaReadStream
-
create
static <K,V> KafkaReadStream<K,V> create(Vertx vertx, Properties config, org.apache.kafka.common.serialization.Deserializer<K> keyDeserializer, org.apache.kafka.common.serialization.Deserializer<V> valueDeserializer) Create a new KafkaReadStream instance- Parameters:
vertx- Vert.x instance to useconfig- Kafka consumer configurationkeyDeserializer- key deserializervalueDeserializer- value deserializer- Returns:
- an instance of the KafkaReadStream
-
create
Create a new KafkaReadStream instance- Parameters:
vertx- Vert.x instance to useconfig- Kafka consumer configuration- Returns:
- an instance of the KafkaReadStream
-
create
static <K,V> KafkaReadStream<K,V> create(Vertx vertx, Map<String, Object> config, Class<K> keyType, Class<V> valueType) Create a new KafkaReadStream instance- Parameters:
vertx- Vert.x instance to useconfig- Kafka consumer configurationkeyType- class type for the key deserializationvalueType- class type for the value deserialization- Returns:
- an instance of the KafkaReadStream
-
create
static <K,V> KafkaReadStream<K,V> create(Vertx vertx, Map<String, Object> config, org.apache.kafka.common.serialization.Deserializer<K> keyDeserializer, org.apache.kafka.common.serialization.Deserializer<V> valueDeserializer) Create a new KafkaReadStream instance- Parameters:
vertx- Vert.x instance to useconfig- Kafka consumer configurationkeyDeserializer- key deserializervalueDeserializer- value deserializer- Returns:
- an instance of the KafkaReadStream
-
create
Create a new KafkaReadStream instance- Parameters:
vertx- Vert.x instance to useoptions- Kafka consumer options- Returns:
- an instance of the KafkaReadStream
-
create
static <K,V> KafkaReadStream<K,V> create(Vertx vertx, KafkaClientOptions options, Class<K> keyType, Class<V> valueType) Create a new KafkaReadStream instance- Parameters:
vertx- Vert.x instance to useoptions- Kafka consumer optionskeyType- class type for the key deserializationvalueType- class type for the value deserialization- Returns:
- an instance of the KafkaReadStream
-
create
static <K,V> KafkaReadStream<K,V> create(Vertx vertx, KafkaClientOptions options, org.apache.kafka.common.serialization.Deserializer<K> keyDeserializer, org.apache.kafka.common.serialization.Deserializer<V> valueDeserializer) Create a new KafkaReadStream instance- Parameters:
vertx- Vert.x instance to useoptions- Kafka consumer optionskeyDeserializer- key deserializervalueDeserializer- value deserializer- Returns:
- an instance of the KafkaReadStream
-
create
static <K,V> KafkaReadStream<K,V> create(Vertx vertx, org.apache.kafka.clients.consumer.Consumer<K, V> consumer) Create a new KafkaReadStream instance- Parameters:
vertx- Vert.x instance to useconsumer- native Kafka consumer instance- Returns:
- an instance of the KafkaReadStream
-
create
static <K,V> KafkaReadStream<K,V> create(Vertx vertx, org.apache.kafka.clients.consumer.Consumer<K, V> consumer, KafkaClientOptions options) Create a new KafkaReadStream instance- Parameters:
vertx- Vert.x instance to useconsumer- native Kafka consumer instanceoptions- options used only for tracing settings- Returns:
- an instance of the KafkaReadStream
-
committed
void committed(org.apache.kafka.common.TopicPartition topicPartition, Handler<AsyncResult<org.apache.kafka.clients.consumer.OffsetAndMetadata>> handler) Get the last committed offset for the given partition (whether the commit happened by this process or another).- Parameters:
topicPartition- topic partition for getting last committed offsethandler- handler called on operation completed
-
committed
Future<org.apache.kafka.clients.consumer.OffsetAndMetadata> committed(org.apache.kafka.common.TopicPartition topicPartition) Likecommitted(TopicPartition, Handler)but returns aFutureof the asynchronous result -
pause
Suspend fetching from the requested partitions.- Parameters:
topicPartitions- topic partition from which suspend fetching- Returns:
- a
Futurecompleted with the operation result
-
pause
KafkaReadStream<K,V> pause(Set<org.apache.kafka.common.TopicPartition> topicPartitions, Handler<AsyncResult<Void>> completionHandler) Suspend fetching from the requested partitions.Due to internal buffering of messages, the record handler will continue to observe messages from the given
topicPartitionsuntil some time after the givencompletionHandleris called. In contrast, the once the givencompletionHandleris called thebatchHandler(Handler)will not see messages from the giventopicPartitions.- Parameters:
topicPartitions- topic partition from which suspend fetchingcompletionHandler- handler called on operation completed- Returns:
- current KafkaReadStream instance
-
paused
Get the set of partitions that were previously paused by a call topause(Set).- Parameters:
handler- handler called on operation completed
-
paused
Likepaused(Handler)but returns aFutureof the asynchronous result -
resume
Resume specified partitions which have been paused with pause.- Parameters:
topicPartitions- topic partition from which resume fetching- Returns:
- a
Futurecompleted with the operation result
-
resume
KafkaReadStream<K,V> resume(Set<org.apache.kafka.common.TopicPartition> topicPartitions, Handler<AsyncResult<Void>> completionHandler) Resume specified partitions which have been paused with pause.- Parameters:
topicPartitions- topic partition from which resume fetchingcompletionHandler- handler called on operation completed- Returns:
- current KafkaReadStream instance
-
seekToEnd
Seek to the last offset for each of the given partitions.- Parameters:
topicPartitions- topic partition for which seek- Returns:
- a
Futurecompleted with the operation result
-
seekToEnd
KafkaReadStream<K,V> seekToEnd(Set<org.apache.kafka.common.TopicPartition> topicPartitions, Handler<AsyncResult<Void>> completionHandler) Seek to the last offset for each of the given partitions.Due to internal buffering of messages, the record handler will continue to observe messages fetched with respect to the old offset until some time after the given
completionHandleris called. In contrast, the once the givencompletionHandleris called thebatchHandler(Handler)will only see messages consistent with the new offset.- Parameters:
topicPartitions- topic partition for which seekcompletionHandler- handler called on operation completed- Returns:
- current KafkaReadStream instance
-
seekToBeginning
Seek to the first offset for each of the given partitions.- Parameters:
topicPartitions- topic partition for which seek- Returns:
- a
Futurecompleted with the operation result
-
seekToBeginning
KafkaReadStream<K,V> seekToBeginning(Set<org.apache.kafka.common.TopicPartition> topicPartitions, Handler<AsyncResult<Void>> completionHandler) Seek to the first offset for each of the given partitions.Due to internal buffering of messages, the record handler will continue to observe messages fetched with respect to the old offset until some time after the given
completionHandleris called. In contrast, the once the givencompletionHandleris called thebatchHandler(Handler)will only see messages consistent with the new offset.- Parameters:
topicPartitions- topic partition for which seekcompletionHandler- handler called on operation completed- Returns:
- current KafkaReadStream instance
-
seek
Overrides the fetch offsets that the consumer will use on the next poll.- Parameters:
topicPartition- topic partition for which seekoffset- offset to seek inside the topic partition- Returns:
- a
Futurecompleted with the operation result
-
seek
KafkaReadStream<K,V> seek(org.apache.kafka.common.TopicPartition topicPartition, long offset, Handler<AsyncResult<Void>> completionHandler) Overrides the fetch offsets that the consumer will use on the next poll.Due to internal buffering of messages, the record handler will continue to observe messages fetched with respect to the old offset until some time after the given
completionHandleris called. In contrast, the once the givencompletionHandleris called thebatchHandler(Handler)will only see messages consistent with the new offset.- Parameters:
topicPartition- topic partition for which seekoffset- offset to seek inside the topic partitioncompletionHandler- handler called on operation completed- Returns:
- current KafkaReadStream instance
-
partitionsRevokedHandler
KafkaReadStream<K,V> partitionsRevokedHandler(Handler<Set<org.apache.kafka.common.TopicPartition>> handler) Set the handler called when topic partitions are revoked to the consumer- Parameters:
handler- handler called on revoked topic partitions- Returns:
- current KafkaReadStream instance
-
partitionsAssignedHandler
KafkaReadStream<K,V> partitionsAssignedHandler(Handler<Set<org.apache.kafka.common.TopicPartition>> handler) Set the handler called when topic partitions are assigned to the consumer- Parameters:
handler- handler called on assigned topic partitions- Returns:
- current KafkaReadStream instance
-
subscribe
Subscribe to the given list of topics to get dynamically assigned partitions.- Parameters:
topics- topics to subscribe to- Returns:
- a
Futurecompleted with the operation result
-
subscribe
Subscribe to the given list of topics to get dynamically assigned partitions.Due to internal buffering of messages, when changing the subscribed topics the old set of topics may remain in effect (as observed by the handler(Handler) record handler}) until some time after the given
completionHandleris called. In contrast, the once the givencompletionHandleris called thebatchHandler(Handler)will only see messages consistent with the new set of topics.- Parameters:
topics- topics to subscribe tocompletionHandler- handler called on operation completed- Returns:
- current KafkaReadStream instance
-
subscribe
Subscribe to all topics matching specified pattern to get dynamically assigned partitions.Due to internal buffering of messages, when changing the subscribed topics the old set of topics may remain in effect (as observed by the handler(Handler) record handler}) until some time after the given
completionHandleris called. In contrast, the once the givencompletionHandleris called thebatchHandler(Handler)will only see messages consistent with the new set of topics.- Parameters:
pattern- Pattern to subscribe tocompletionHandler- handler called on operation completed- Returns:
- current KafkaReadStream instance
-
subscribe
Subscribe to all topics matching specified pattern to get dynamically assigned partitions.- Parameters:
pattern- Pattern to subscribe to- Returns:
- a
Futurecompleted with the operation result
-
unsubscribe
Unsubscribe from topics currently subscribed with subscribe.- Returns:
- current KafkaReadStream instance
-
unsubscribe
Unsubscribe from topics currently subscribed with subscribe.- Parameters:
completionHandler- handler called on operation completed- Returns:
- current KafkaReadStream instance
-
subscription
Get the current subscription.- Parameters:
handler- handler called on operation completed- Returns:
- current KafkaReadStream instance
-
subscription
Likesubscription(Handler)but returns aFutureof the asynchronous result -
assign
Manually assign a set of partitions to this consumer.- Parameters:
partitions- partitions which want assigned- Returns:
- current KafkaReadStream instance
-
assign
KafkaReadStream<K,V> assign(Set<org.apache.kafka.common.TopicPartition> partitions, Handler<AsyncResult<Void>> completionHandler) Manually assign a set of partitions to this consumer.Due to internal buffering of messages, when reassigning the old set of partitions may remain in effect (as observed by the handler(Handler) record handler)} until some time after the given
completionHandleris called. In contrast, the once the givencompletionHandleris called thebatchHandler(Handler)will only see messages consistent with the new set of partitions.- Parameters:
partitions- partitions which want assignedcompletionHandler- handler called on operation completed- Returns:
- current KafkaReadStream instance
-
assignment
KafkaReadStream<K,V> assignment(Handler<AsyncResult<Set<org.apache.kafka.common.TopicPartition>>> handler) Get the set of partitions currently assigned to this consumer.- Parameters:
handler- handler called on operation completed- Returns:
- current KafkaReadStream instance
-
assignment
Likeassignment(Handler)but returns aFutureof the asynchronous result -
listTopics
KafkaReadStream<K,V> listTopics(Handler<AsyncResult<Map<String, List<org.apache.kafka.common.PartitionInfo>>>> handler) Get metadata about partitions for all topics that the user is authorized to view.- Parameters:
handler- handler called on operation completed- Returns:
- current KafkaReadStream instance
-
listTopics
LikelistTopics(Handler)but returns aFutureof the asynchronous result -
commit
Future<Map<org.apache.kafka.common.TopicPartition,org.apache.kafka.clients.consumer.OffsetAndMetadata>> commit()Commit current offsets for all the subscribed list of topics and partition. -
commit
void commit(Handler<AsyncResult<Map<org.apache.kafka.common.TopicPartition, org.apache.kafka.clients.consumer.OffsetAndMetadata>>> completionHandler) Commit current offsets for all the subscribed list of topics and partition.- Parameters:
completionHandler- handler called on operation completed
-
commit
Future<Map<org.apache.kafka.common.TopicPartition,org.apache.kafka.clients.consumer.OffsetAndMetadata>> commit(Map<org.apache.kafka.common.TopicPartition, org.apache.kafka.clients.consumer.OffsetAndMetadata> offsets) Commit the specified offsets for the specified list of topics and partitions to Kafka.- Parameters:
offsets- offsets list to commit- Returns:
- a
Futurecompleted with the operation result
-
commit
void commit(Map<org.apache.kafka.common.TopicPartition, org.apache.kafka.clients.consumer.OffsetAndMetadata> offsets, Handler<AsyncResult<Map<org.apache.kafka.common.TopicPartition, org.apache.kafka.clients.consumer.OffsetAndMetadata>>> completionHandler) Commit the specified offsets for the specified list of topics and partitions to Kafka.- Parameters:
offsets- offsets list to commitcompletionHandler- handler called on operation completed
-
partitionsFor
KafkaReadStream<K,V> partitionsFor(String topic, Handler<AsyncResult<List<org.apache.kafka.common.PartitionInfo>>> handler) Get metadata about the partitions for a given topic.- Parameters:
topic- topic partition for which getting partitions infohandler- handler called on operation completed- Returns:
- current KafkaReadStream instance
-
partitionsFor
LikepartitionsFor(String, Handler)but returns aFutureof the asynchronous result -
close
Close the stream- Returns:
- a
Futurecompleted with the operation result
-
close
Close the stream- Parameters:
completionHandler- handler called on operation completed
-
position
Get the offset of the next record that will be fetched (if a record with that offset exists).- Parameters:
partition- The partition to get the position forhandler- handler called on operation completed
-
position
Likeposition(TopicPartition, Handler)but returns aFutureof the asynchronous result -
offsetsForTimes
void offsetsForTimes(Map<org.apache.kafka.common.TopicPartition, Long> topicPartitionTimestamps, Handler<AsyncResult<Map<org.apache.kafka.common.TopicPartition, org.apache.kafka.clients.consumer.OffsetAndTimestamp>>> handler) Look up the offsets for the given partitions by timestamp.- Parameters:
topicPartitionTimestamps- A map with pairs of (TopicPartition, Timestamp).handler- handler called on operation completed
-
offsetsForTimes
Future<Map<org.apache.kafka.common.TopicPartition,org.apache.kafka.clients.consumer.OffsetAndTimestamp>> offsetsForTimes(Map<org.apache.kafka.common.TopicPartition, Long> topicPartitionTimestamps) LikeoffsetsForTimes(Map, Handler)but returns aFutureof the asynchronous result -
offsetsForTimes
void offsetsForTimes(org.apache.kafka.common.TopicPartition topicPartition, long timestamp, Handler<AsyncResult<org.apache.kafka.clients.consumer.OffsetAndTimestamp>> handler) * Look up the offset for the given partition by timestamp.- Parameters:
topicPartition- Partition to query.timestamp- Timestamp used to determine the offset.handler- handler called on operation completed
-
offsetsForTimes
Future<org.apache.kafka.clients.consumer.OffsetAndTimestamp> offsetsForTimes(org.apache.kafka.common.TopicPartition topicPartition, long timestamp) LikeoffsetsForTimes(TopicPartition, long, Handler)but returns aFutureof the asynchronous result -
beginningOffsets
void beginningOffsets(Set<org.apache.kafka.common.TopicPartition> topicPartitions, Handler<AsyncResult<Map<org.apache.kafka.common.TopicPartition, Long>>> handler) Get the first offset for the given partitions.- Parameters:
topicPartitions- the partitions to get the earliest offsets.handler- handler called on operation completed. Returns the earliest available offsets for the given partitions
-
beginningOffsets
Future<Map<org.apache.kafka.common.TopicPartition,Long>> beginningOffsets(Set<org.apache.kafka.common.TopicPartition> topicPartitions) LikebeginningOffsets(Set, Handler)but returns aFutureof the asynchronous result -
beginningOffsets
void beginningOffsets(org.apache.kafka.common.TopicPartition topicPartition, Handler<AsyncResult<Long>> handler) Get the first offset for the given partition.- Parameters:
topicPartition- the partition to get the earliest offset.handler- handler called on operation completed. Returns the earliest available offset for the given partition
-
beginningOffsets
LikebeginningOffsets(TopicPartition, Handler)but returns aFutureof the asynchronous result -
endOffsets
void endOffsets(Set<org.apache.kafka.common.TopicPartition> topicPartitions, Handler<AsyncResult<Map<org.apache.kafka.common.TopicPartition, Long>>> handler) Get the last offset for the given partitions. The last offset of a partition is the offset of the upcoming message, i.e. the offset of the last available message + 1.- Parameters:
topicPartitions- the partitions to get the end offsets.handler- handler called on operation completed. The end offsets for the given partitions.
-
endOffsets
Future<Map<org.apache.kafka.common.TopicPartition,Long>> endOffsets(Set<org.apache.kafka.common.TopicPartition> topicPartitions) LikeendOffsets(Set, Handler)but returns aFutureof the asynchronous result -
endOffsets
void endOffsets(org.apache.kafka.common.TopicPartition topicPartition, Handler<AsyncResult<Long>> handler) Get the last offset for the given partition. The last offset of a partition is the offset of the upcoming message, i.e. the offset of the last available message + 1.- Parameters:
topicPartition- the partition to get the end offset.handler- handler called on operation completed. The end offset for the given partition.
-
endOffsets
LikeendOffsets(TopicPartition, Handler)but returns aFutureof the asynchronous result -
unwrap
- Returns:
- the underlying consumer
-
batchHandler
KafkaReadStream<K,V> batchHandler(Handler<org.apache.kafka.clients.consumer.ConsumerRecords<K, V>> handler) Set the handler that will be called when a new batch of records is returned from Kafka. Batch handlers need to take care not to block the event loop when dealing with large batches. It is better to process records individually using therecord handler.- Parameters:
handler- handler called each time Kafka returns a batch of records.- Returns:
- current KafkaReadStream instance.
-
pollTimeout
Sets the poll timeout for the underlying native Kafka Consumer. Defaults to 1000 ms. Setting timeout to a lower value results in a more 'responsive' client, because it will block for a shorter period if no data is available in the assigned partition and therefore allows subsequent actions to be executed with a shorter delay. At the same time, the client will poll more frequently and thus will potentially create a higher load on the Kafka Broker.- Parameters:
timeout- The time, spent waiting in poll if data is not available in the buffer. If 0, returns immediately with any records that are available currently in the native Kafka consumer's buffer, else returns empty. Must not be negative.
-
poll
void poll(Duration timeout, Handler<AsyncResult<org.apache.kafka.clients.consumer.ConsumerRecords<K, V>>> handler) Executes a poll for getting messages from Kafka.- Parameters:
timeout- The maximum time to block (must not be greater thanLong.MAX_VALUEmilliseconds)handler- handler called after the poll with batch of records (can be empty).
-
poll
Likepoll(Duration, Handler)but returns aFutureof the asynchronous result
-