需要注意的是,两个回调处理的均为当前该回调的处理范围,成功的处理成功的,失败的处理失败的。实际如何用,可参考尚硅谷P37尚硅谷2021新版RabbitMQ教程丨快速掌握MQ消息中间件_哔哩哔哩_bilibili
SortedSet
channel.confirmSelect();
channel.addConfirmListener(new ConfirmListener() {
public void handleAck(long deliveryTag, boolean multiple) throws IOException {
if (multiple) {
/confirm/iSet.headSet(deliveryTag + 1).clear();
} else {
/confirm/iSet.remove(deliveryTag);
}
}
public void handleNack(long deliveryTag, boolean multiple) throws IOException {
System.out.println("Nack, SeqNo: " + deliveryTag + ", multiple: " + multiple);
if (multiple) {
/confirm/iSet.headSet(deliveryTag + 1).clear();
} else {
/confirm/iSet.remove(deliveryTag);
}
}
});
while (true) {
long nextSeqNo = channel.getNextPublishSeqNo();
channel.basicPublish(/confirm/iConfig.exchangeName, /confirm/iConfig.routingKey, MessageProperties.PERSISTENT_TEXT_PLAIN, /confirm/iConfig.msg_10B.getBytes());
/confirm/iSet.add(nextSeqNo);
}
相关说明可参考 https://blog.csdn.net/u013256816/article/details/55515234



