From b05c3ae71aff9cd0fc8eedd515cd507ca40620eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=89=E4=B8=99?= Date: Mon, 16 Dec 2024 11:28:55 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=AC=E5=9C=B0=E9=98=9F=E5=88=97=E6=9C=80?= =?UTF-8?q?=E5=A4=A7=E6=B6=88=E8=B4=B9=E5=A4=A7=E5=B0=8F=E5=8F=AF=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jcpp-app-bootstrap/src/main/resources/app-service.yml | 1 + .../infrastructure/queue/memory/DefaultInMemoryStorage.java | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/jcpp-app-bootstrap/src/main/resources/app-service.yml b/jcpp-app-bootstrap/src/main/resources/app-service.yml index ead70c3..72a6265 100644 --- a/jcpp-app-bootstrap/src/main/resources/app-service.yml +++ b/jcpp-app-bootstrap/src/main/resources/app-service.yml @@ -65,6 +65,7 @@ queue: hash_function_name: "${QUEUE_PARTITIONS_HASH_FUNCTION_NAME:murmur3_128}" # murmur3_32, murmur3_128 or sha256 memory: queue-capacity: "${QUEUE_MEMORY_QUEUE_CAPACITY:100000}" + max-pool-size: "${QUEUE_MEMORY_MAX_POOL_SIZE:999}" stats: print-interval-ms: "${QUEUE_MEMORY_STATS_PRINT_INTERVAL_MS:10000}" kafka: diff --git a/jcpp-infrastructure-queue/src/main/java/sanbing/jcpp/infrastructure/queue/memory/DefaultInMemoryStorage.java b/jcpp-infrastructure-queue/src/main/java/sanbing/jcpp/infrastructure/queue/memory/DefaultInMemoryStorage.java index 155f512..b3bbab3 100644 --- a/jcpp-infrastructure-queue/src/main/java/sanbing/jcpp/infrastructure/queue/memory/DefaultInMemoryStorage.java +++ b/jcpp-infrastructure-queue/src/main/java/sanbing/jcpp/infrastructure/queue/memory/DefaultInMemoryStorage.java @@ -21,6 +21,8 @@ public final class DefaultInMemoryStorage implements InMemoryStorage { @Value("${queue.memory.queue-capacity:100000}") private int queueCapacity; + @Value("${queue.memory.max-pool-size:999}") + private int maxPoolSize; @Override public void printStats() { @@ -54,9 +56,9 @@ public final class DefaultInMemoryStorage implements InMemoryStorage { if (firstMsg != null) { final int queueSize = queue.size(); if (queueSize > 0) { - final List entities = new ArrayList<>(Math.min(queueSize, 999) + 1); + final List entities = new ArrayList<>(Math.min(queueSize, maxPoolSize) + 1); entities.add(firstMsg); - queue.drainTo(entities, 999); + queue.drainTo(entities, maxPoolSize); return entities; } return Collections.singletonList(firstMsg);