소스 검색

消息重复消费添加ack逻辑

tianboguang 2 년 전
부모
커밋
243e3ec928
1개의 변경된 파일2개의 추가작업 그리고 0개의 파일을 삭제
  1. 2 0
      src/main/java/com/fdkankan/contro/mq/listener/AbstrackBuildSceneListener.java

+ 2 - 0
src/main/java/com/fdkankan/contro/mq/listener/AbstrackBuildSceneListener.java

@@ -31,6 +31,7 @@ public class AbstrackBuildSceneListener implements IBuildSceneListener {
             boolean lock = redisLockUtil.lock(RedisConstants.SCENE_PREPARE_BUILDING + messageId, 24 * 3600);
             if (!lock) {
                 log.error("服务:{},消息重复消费:{}", "常驻服务", messageId);
+                channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
                 return;
             }
         }
@@ -58,6 +59,7 @@ public class AbstrackBuildSceneListener implements IBuildSceneListener {
             boolean lock = redisLockUtil.lock(RedisConstants.SCENE_POST_BUILDING + messageId, 24 * 3600);
             if (!lock) {
                 log.error("服务:{},消息重复消费:{}", "常驻服务", messageId);
+                channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
                 return;
             }
         }