本文整理匯總了Java中org.apache.kafka.clients.consumer.KafkaConsumer.assignment方法的典型用法代碼示例。如果您正苦於以下問題:Java KafkaConsumer.assignment方法的具體用法?Java KafkaConsumer.assignment怎麽用?Java KafkaConsumer.assignment使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類org.apache.kafka.clients.consumer.KafkaConsumer
的用法示例。
在下文中一共展示了KafkaConsumer.assignment方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: resetToLastCommittedPositions
import org.apache.kafka.clients.consumer.KafkaConsumer; //導入方法依賴的package包/類
private static void resetToLastCommittedPositions(KafkaConsumer<String, String> consumer) {
for (TopicPartition topicPartition : consumer.assignment()) {
OffsetAndMetadata offsetAndMetadata = consumer.committed(topicPartition);
if (offsetAndMetadata != null)
consumer.seek(topicPartition, offsetAndMetadata.offset());
else
consumer.seekToBeginning(singleton(topicPartition));
}
}
示例2: main
import org.apache.kafka.clients.consumer.KafkaConsumer; //導入方法依賴的package包/類
public static void main(String[] args) {
KafkaConsumer<String, String> consumer = createConsumer();
consumer.subscribe(Arrays.asList(TOPIC));
boolean flag = true;
while (true) {
ConsumerRecords<String, String> records = consumer.poll(100);
if (flag) {
Set<TopicPartition> assignments = consumer.assignment();
assignments.forEach(topicPartition ->
consumer.seek(
topicPartition,
90));
flag = false;
}
for (ConsumerRecord<String, String> record : records)
System.out.printf("offset = %d, key = %s, value = %s%n", record.offset(), record.key(), record.value());
}
}
示例3: main
import org.apache.kafka.clients.consumer.KafkaConsumer; //導入方法依賴的package包/類
public static void main(String[] args) {
KafkaConsumer<String, String> consumer = KafkaConsumerUtil.createConsumer();
consumer.subscribe(Arrays.asList(TOPIC));
boolean flag = true;
while (true) {
ConsumerRecords<String, String> records = consumer.poll(100);
if (flag) {
Set<TopicPartition> assignments = consumer.assignment();
assignments.forEach(topicPartition ->
consumer.seekToBeginning(
Arrays.asList(topicPartition)));
flag = false;
}
for (ConsumerRecord<String, String> record : records)
System.out.printf("offset = %d, key = %s, value = %s%n", record.offset(), record.key(), record.value());
}
}
示例4: main
import org.apache.kafka.clients.consumer.KafkaConsumer; //導入方法依賴的package包/類
public static void main(String[] args) {
KafkaConsumer<String, String> consumer = createConsumer();
consumer.subscribe(Arrays.asList(TOPIC));
boolean flag = true;
while (true) {
ConsumerRecords<String, String> records = consumer.poll(100);
if (flag) {
Set<TopicPartition> assignments = consumer.assignment();
Map<TopicPartition, Long> query = new HashMap<>();
for (TopicPartition topicPartition : assignments) {
query.put(
topicPartition,
Instant.now().minus(10, MINUTES).toEpochMilli());
}
Map<TopicPartition, OffsetAndTimestamp> result = consumer.offsetsForTimes(query);
result.entrySet()
.stream()
.forEach(entry ->
consumer.seek(
entry.getKey(),
Optional.ofNullable(entry.getValue())
.map(OffsetAndTimestamp::offset)
.orElse(new Long(0))));
flag = false;
}
for (ConsumerRecord<String, String> record : records)
System.out.printf("offset = %d, key = %s, value = %s%n", record.offset(), record.key(), record.value());
}
}
示例5: consumerPositions
import org.apache.kafka.clients.consumer.KafkaConsumer; //導入方法依賴的package包/類
private static Map<TopicPartition, OffsetAndMetadata> consumerPositions(KafkaConsumer<String, String> consumer) {
Map<TopicPartition, OffsetAndMetadata> positions = new HashMap<>();
for (TopicPartition topicPartition : consumer.assignment()) {
positions.put(topicPartition, new OffsetAndMetadata(consumer.position(topicPartition), null));
}
return positions;
}