浏览代码

修改消息发送逻辑

tianboguang 2 年之前
父节点
当前提交
e414c2e070

+ 6 - 6
4dkankan-utils-rabbitmq/src/main/java/com/fdkankan/rabbitmq/callback/ProducerCallback.java

@@ -21,21 +21,21 @@ public class ProducerCallback implements RabbitTemplate.ConfirmCallback,RabbitTe
     //confirms模式:无论exchange投递消息是成功或是失败,都会返回ack,我们可以根据返回的ack是成功还是失败,做相应的业务处理
     @Override
     public void confirm(CorrelationData correlationData, boolean ack, String cause) {
-        String messageId = correlationData.getReturnedMessage().getMessageProperties()
-            .getMessageId();
         //投递成功
-        if(ack){
-            log.info("消息投递成功,id:{}", messageId);
+        if (ack) {
+            log.info("消息投递成功");
             return;
         }
         //投递失败
-        log.error("消息投递失败,id:{},失败原因:{}", messageId, cause);
+        log.error("消息投递失败,失败原因:{}", cause);
     }
 
+
     //return模式:只有exchange投递消息失败时,才会执行回调函数,来做一些相应的业务处理
     @Override
     public void returnedMessage(Message returnedMessage, int replyCode, String replyText, String exchange, String routingKey) {
-        log.info("消息从Exchange路由到Queue失败: exchange: {}, route: {}, replyCode: {}, replyText: {}, message: {}", exchange, routingKey, replyCode, replyText, returnedMessage);
+        log.info("消息从Exchange路由到Queue失败: exchange: {}, route: {}, replyCode: {}, replyText: {}, message: {},消息id:{}",
+                exchange, routingKey, replyCode, replyText, returnedMessage, returnedMessage.getMessageProperties().getMessageId());
 
     }
 }

+ 3 - 2
4dkankan-utils-rabbitmq/src/main/java/com/fdkankan/rabbitmq/util/RabbitMqProducer.java

@@ -37,9 +37,10 @@ public class RabbitMqProducer {
      * 工作队列模式发送
      */
     public void sendByWorkQueue(String queue, Object content){
-        log.info("开始发送Mq消息,消息队列:{},消息内容:{}",queue, new JSONObject(content).toString());
+        String messageId = UUID.randomUUID().toString();
+        log.info("开始发送Mq消息,消息队列:{},消息id:{},消息内容:{}", queue, messageId, new JSONObject(content).toString());
         rabbitTemplate.convertAndSend(queue, content, message -> {
-            message.getMessageProperties().setMessageId(UUID.randomUUID().toString());
+            message.getMessageProperties().setMessageId(messageId);
             return message;
         });
     }