Open ijaychang opened 6 years ago
// 消息发送到RabbitMQ交换器后接收ack回调 rabbitTemplate.setConfirmCallback((correlationData, ack, cause) -> { if(returnFlag){ logger.error("mq发送错误,无对应的的交换机,confirm回掉,ack={},correlationData={} cause={} returnFlag={}", ack, correlationData, cause, returnFlag); } logger.info("confirm回调,ack={} correlationData={} cause={}", ack, correlationData, cause); String msgId = correlationData.getId(); /** 只要消息能投入正确的消息队列,并持久化,就返回ack为true*/ if(ack){ logger.info("消息已正确投递到队列, correlationData:{}", correlationData); //清除重发缓存 String dbCoordinatior = ((CompleteCorrelationData)correlationData).getCoordinator(); DBCoordinator coordinator = (DBCoordinator)applicationContext.getBean(dbCoordinatior); coordinator.setMsgSuccess(msgId); }else{ logger.error("消息投递至交换机失败,业务号:{},原因:{}",correlationData.getId(),cause); } });
coordinator.setMsgSuccess(msgId);报 java.lang.IllegalArgumentException: non null hash key required
注解上的bizname设置了么?
@vvsuperman 发送不同消息也要加@TransMessage注解,设置bizname吗。不是很明白。。。
普通消息么?不用@TransMessage?那应该去掉这个
coordinator.setMsgSuccess(msgId);报 java.lang.IllegalArgumentException: non null hash key required