Browse Source

!91 fix(redis leftPop有bug,造成消息丢失): 填补逻辑

Merge pull request !91 from JavaOne/v_3.0.0
master
blue 2 years ago
committed by Gitee
parent
commit
3e3de539e4
No known key found for this signature in database GPG Key ID: 173E9B9CA92EEF8F
  1. 5
      im-commom/src/main/java/com/bx/imcommon/mq/RedisMQPullTask.java

5
im-commom/src/main/java/com/bx/imcommon/mq/RedisMQPullTask.java

@ -79,7 +79,7 @@ public class RedisMQPullTask implements CommandLineRunner {
if (!EXECUTOR.isShutdown()) {
if (datas.size() < batchSize) {
// 数据已经消费完,等待下一个周期继续拉取
EXECUTOR.schedule(this, period, TimeUnit.MICROSECONDS);
EXECUTOR.schedule(this, period, TimeUnit.MILLISECONDS);
} else {
// 数据没有消费完,直接开启下一个消费周期
EXECUTOR.execute(this);
@ -102,6 +102,9 @@ public class RedisMQPullTask implements CommandLineRunner {
objects.add(obj);
obj = redisMQTemplate.opsForList().leftPop(key);
}
if (!Objects.isNull(obj)){
objects.add(obj);
}
}
return objects;
}

Loading…
Cancel
Save