Bootstrap

第15节:RabbitMQ发送方确认-异步监听确认模式

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);

            }

        });

 

 

 

 

 

 

 

 

;