RabbitMQ回调函数没有起到作用
final ConfirmCallback callback=new RabbitTemplate.ConfirmCallback() {
public void confirm(CorrelationData correlationData, boolean ack, String cause) {
System.out.println("correlationData:"+correlationData);
//发送消息是的唯一消息ID
String massageId=correlationData.getId();
System.out.println("消息massageId 处理。。。。。。。"+massageId);
if(ack) {
//如果confirm返回成功,则进行更新
OrderMassageLog massageLog=new OrderMassageLog();
massageLog.setOrderMassageId(massageId);
massageLog.setStatus(Const.ORDER_SEND_SUCCESS);
LogMapper.updateByPrimaryKeySelective(massageLog);
}else {
System.out.println("消息异常处理。。。。。。。");
}
}
};
public void SendOrderInfo(OrderMaster order) {
//设置监听对象
rabbit.setConfirmCallback(callback);
//设置唯一的对象消息id
CorrelationData date=new CorrelationData(order.getOrderMassageId());
rabbit.convertAndSend("order-exchenge","order.key",order,date);//发送消息
}
这个callback回调函数 发送消息后 没有打印对应的correlationData 没有运行到这个callback这个函数内 数据发送和数据接收 都没有问题
数据库的订单表被插入数据 log表也插入数据 就是log表的状态 应该从0 变为 1 消息发送成功 但是没有改变 一直是0 没有改变 程序也灭有报错 运行正常 就是callback函数 没有运行到