Kafka 8.2.2动态主题删除第一个事件

时间:2016-02-16 21:09:09

标签: java apache-kafka

编辑:我也看到了与Kafka 9 Consumer API相同的行为。

我有一个简单的Kafaka 8.2.2 Producer,其enable主题创建属性设置为true。当创建具有不存在主题的事件时,它将创建一个新主题,但创建该主题的事件不会在Kafka中结束,并且返回的RecordMetadata没有错误。

    public void receiveEvent(@RequestBody EventWrapper events) throws InterruptedException, ExecutionException, TimeoutException {
    log.info("Sending " + events.getEvents().size() + " Events ");
    for (Event event : events.getEvents()) {
        log.info("Sending Event - " + event);
        ProducerRecord<String, String> record = new ProducerRecord<>(event.getTopic(), event.getData());

        Future<RecordMetadata> ack = eventProducer.send(record);
        log.info("ACK - " + ack.get());
    }

    log.info("SENT!");
}

我有一个程序可以轮询新主题(我对Kafka 8中的动态/正则表达式主题代码感到满意)并找到了新的队列和订阅,它确实看到了后续事件,但从未第一次活动。

我也尝试过kafka-console-consumer脚本,它看起来完全相同。第一个事件从未见过,然后事件开始流动。

想法?

1 个答案:

答案 0 :(得分:0)

原来你可以设置一个属性 props.put(“auto.offset.reset”,“earliest”);

设置完毕后,消费者确实收到了第一个主题事件。