Recebendo a última mensagem enviada para um tópico kafka

Sou novo na Kafka e estou trabalhando em um protótipo para conectar um serviço de streaming proprietário ao Kafka.

Estou procurando obter a chave da última mensagem em um tópico, pois nosso consumidor interno de fluxo precisa fazer logon com o ID da última mensagem que recebeu ao se conectar.

É possível, usando o KafkaProducer ou um KafkaConsumer para fazer isso?

Tentei fazer o seguinte usando um consumidor, mas ao executar o consumidor do console, vejo as mensagens repetidas.

    // Poll so we know we're connected
    consumer.poll(100);
    // Get the assigned partitions
    Set<TopicPartition> assignedPartitions = consumer.assignment();
    // Seek to the end of those partitions
    consumer.seekToEnd(assignedPartitions);

    for(TopicPartition partition : assignedPartitions) {
        final long offset = consumer.committed(partition).offset();
        // Seek to the previous message
        consumer.seek(partition,offset - 1);
    }

    // Now get the last message
    ConsumerRecords<String, String> records = consumer.poll(100);
    for (ConsumerRecord<String, String> record : records) {
        lastKey = record.key();
    }
    consumer.close();

Esse comportamento é esperado ou estou no caminho errado?

questionAnswers(2)

yourAnswerToTheQuestion