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
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
1 changed files with
4 additions and
1 deletions
-
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; |
|
|
|
} |
|
|
|
|