已ack的消息还是会被重新发送怎么回事

public class MyMessageListener_NegativeAcknowledge implements MessageListener {
@Override
public void received(Consumer consumer, Message msg) {
try {
int intValue = Integer.parseInt(new String(msg.getData()).split(“\_”)[0]);
// System.out.println(“消费的消息:” + intValue);
if (intValue >= 1981 && intValue <= 2000) {
consumer.negativeAcknowledge(msg);
} else {
consumer.acknowledge(msg);
}
System.out.println(intValue);
} catch (PulsarClientException e) {
e.printStackTrace();
}
}
}
上面代码是消费者。
下面配置是true,改的standalone.conf配置文件:
acknowledgmentAtBatchIndexLevelEnabled=true
并且启用了batingenable=true。
但发现已经ACK确认的消息还是会被重新发送,不知道啥原因。
感谢。

需要在broker.conf中 acknowledgmentAtBatchIndexLevelEnabled=true 设置

@liudezhi2098 不是,,我在代码中enable启用这个功能就好使了,也就是配置文件和code都要启用,双启用才好使。