Confirm的三种实现方式:
方式三:channel.addConfirmListener()异步监听发送方确认模式
channel接口方法:
1.channel.confirmSelect(); 开启发送方确认模式
2.channel.addConfirmListener(); 消息确认以后的回调方法
真实案例使用:记得先启动监听
参数1 :为被确认的消息编号,从1开始自动递增用于标记当前是第几个消息
参数2 :为当前消息是否同时确认多个
注意:如果参数2为true,则表示本次同时确认了多条,消息等于当前参数1(消息编号)的所有消息全部被确认,如果为false 则表示只确认了当前编号的消息
channel.addConfirmListener(new ConfirmListener() {
public void handleAck(long l, boolean b) throws IOException {
System.out.println("已确认消息,标识:"+l+" ---多个消息:"+b);
}
参数1 :为没有被确认的消息编号,从1开始自动递增用于标记当前是第几个消息
参数2 :为当前消息是否同时没有确认多个
注意:如果参数2 为true,则表示小于当前编号的所有消息都可能没发送成功,需要补发
如果参数2 为false,则表示当前编号的消息没有确认成功
public void handleNack(long l, boolean b) throws IOException {
System.out.println("未确认消息,标识:" + l+"----"+b);
}
});