rabbitMQ消息队列中发布确认中的确认以及回退回调的实现

在发布确认回调实现类中

package com.it.springbootrabbitmq.callback;

import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.rabbit.connection.CorrelationData;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import javax.annotation.PostConstruct;

@Slf4j
@Component
//发布确认回调实现类
public class MyCallBack  implements RabbitTemplate.ConfirmCallback {
   

    @Autowired
    private  RabbitTemplate rabbitTemplate;
    //由于confirm回调函数是在rabbitTemplate类中进行调用的, 调用方法为handleConfirm .只有属性ConfirmCallBack
    //	if (this.confirmCallback != null) {
   
    //		this.confirmCallback
    //		.confirm(pendingConfirm.getCorrelationData(), ack, pendingConfirm.getCause()); // NOSON
    //不为null  才会被调用 因此, 需要首先在类注入后, 进行初始化,为回调实现类进行赋值,进而每次发出消息都会激发回调函数
    //且 PostConstruct  注解是专门数据初始化的注解, 只有其他组件注入后,初始化方法才会执行,
    @PostConstruct
    public void  init(){
   
        rabbitTemplate.setConfirmCallback(

你可能感兴趣的:(rabbitmq,java)