我想从java程序中的高级使用者那里获取kafka消息偏移量。由于我使用自定义commitoffset属性,我想测试我的自定义commitoffset是否正常工作。任何人都可以帮我如何获得抵消??? 我遇到过几个kafka工具(比如getoffsetshell),但它对我的测试没有帮助。
答案 0 :(得分:0)
从ConsumerIterator
收到消息时,您还可以通过执行以下操作获得偏移:
ConsumerConnector consumerConnector = Consumer.createJavaConsumerConnector(getConsumerConfig());
KafkaStream<byte[], byte[]> stream = getKafkaStream(consumerConnector);
ConsumerIterator<byte[], byte[]> iterator = stream.iterator();
while(iterator.hasNext()) {
MessageAndMetadata<byte[], byte[]> messageAndMetadata = iterator.next();
String message = new String(messageAndMetadata.message());
long offset = messageAndMetadata.offset();
}