测试的是消费者对消息执行了ACK操作,但在另外一个控制层中执行:
Message<byte[]> messageById = pulsarAdmin.topics().getMessageById("persistent://public/default/myTopic1", 30, 0);
System.out.println(new String(messageById.getData()));
还能取到消息,说明消息经过ACK处理后并未删除
测试的是消费者对消息执行了ACK操作,但在另外一个控制层中执行:
Message<byte[]> messageById = pulsarAdmin.topics().getMessageById("persistent://public/default/myTopic1", 30, 0);
System.out.println(new String(messageById.getData()));
还能取到消息,说明消息经过ACK处理后并未删除
是的 ACK消息和删除消息是两个逻辑,未删除也是属于正常行为。
可以了解下 pulsar 消息的生命周期。
以下文章来自 Streamnative 公众号