从卡夫卡高级消费者

时间:2015-12-06 16:11:29

标签: java apache-kafka

我想从java程序中的高级使用者那里获取kafka消息偏移量。由于我使用自定义commitoffset属性,我想测试我的自定义commitoffset是否正常工作。任何人都可以帮我如何获得抵消???  我遇到过几个kafka工具(比如getoffsetshell),但它对我的测试没有帮助。

1 个答案:

答案 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();
    }