RabbitMQ回調(diào)函數(shù)沒有起到作用
final ConfirmCallback callback=new RabbitTemplate.ConfirmCallback() {
public void confirm(CorrelationData correlationData, boolean ack, String cause) {
System.out.println("correlationData:"+correlationData);
//發(fā)送消息是的唯一消息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) {
//設置監(jiān)聽對象
rabbit.setConfirmCallback(callback);
//設置唯一的對象消息id
CorrelationData date=new CorrelationData(order.getOrderMassageId());
rabbit.convertAndSend("order-exchenge","order.key",order,date);//發(fā)送消息
}
這個callback回調(diào)函數(shù)? 發(fā)送消息后 沒有打印對應的correlationData? ?沒有運行到這個callback這個函數(shù)內(nèi)? 數(shù)據(jù)發(fā)送和數(shù)據(jù)接收 都沒有問題
數(shù)據(jù)庫的訂單表被插入數(shù)據(jù)? log表也插入數(shù)據(jù)? 就是log表的狀態(tài) 應該從0 變?yōu)?1? 消息發(fā)送成功? 但是沒有改變? 一直是0 沒有改變? 程序也滅有報錯 運行正常? 就是callback函數(shù)? 沒有運行到
2021-12-10
配置添加發(fā)布返回確認
spring.rabbitmq.publisher-returns: 是否啟用【發(fā)布返回】,默認false