diff --git a/common/queue/src/main/java/org/thingsboard/server/queue/usagestats/DefaultTbApiUsageReportClient.java b/common/queue/src/main/java/org/thingsboard/server/queue/usagestats/DefaultTbApiUsageReportClient.java index 10ea5b13a0..e667256e06 100644 --- a/common/queue/src/main/java/org/thingsboard/server/queue/usagestats/DefaultTbApiUsageReportClient.java +++ b/common/queue/src/main/java/org/thingsboard/server/queue/usagestats/DefaultTbApiUsageReportClient.java @@ -15,6 +15,7 @@ */ package org.thingsboard.server.queue.usagestats; +import com.google.common.collect.Lists; import jakarta.annotation.PostConstruct; import lombok.Data; import lombok.RequiredArgsConstructor; @@ -52,7 +53,6 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicLong; -import java.util.stream.IntStream; @Component @Slf4j @@ -155,13 +155,13 @@ public class DefaultTbApiUsageReportClient implements TbApiUsageReportClient { } private List toMsgPack(List list) { - return IntStream.range(0, (list.size() + packSize - 1) / packSize) - .mapToObj(i -> { - var packList = list.subList(i * packSize, Math.min((i + 1) * packSize, list.size())); - var pack = ToUsageStatsServiceMsgPack.newBuilder(); - pack.addAllMsgs(packList); - return pack.build(); - }).toList(); + return Lists.partition(list, packSize) + .stream() + .map(partition -> + ToUsageStatsServiceMsgPack.newBuilder() + .addAllMsgs(partition) + .build()) + .toList(); } @Override