From 22dff8c933c79f3e639dbd2f4d8595905059b42e Mon Sep 17 00:00:00 2001 From: Alex Almanza Date: Sun, 4 Jan 2026 17:23:28 -0600 Subject: [PATCH 1/4] Make CSAPI thred pool size configurable --- .../org/sensorhub/impl/service/consys/ConSysApiService.java | 2 +- .../sensorhub/impl/service/consys/ConSysApiServiceConfig.java | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/sensorhub-service-consys/src/main/java/org/sensorhub/impl/service/consys/ConSysApiService.java b/sensorhub-service-consys/src/main/java/org/sensorhub/impl/service/consys/ConSysApiService.java index 84c912310e..4ff6f4e876 100644 --- a/sensorhub-service-consys/src/main/java/org/sensorhub/impl/service/consys/ConSysApiService.java +++ b/sensorhub-service-consys/src/main/java/org/sensorhub/impl/service/consys/ConSysApiService.java @@ -158,7 +158,7 @@ protected void doStart() throws SensorHubException // init thread pool threadPool = Executors.newScheduledThreadPool( - Runtime.getRuntime().availableProcessors(), + config.threadPoolSize, new NamedThreadFactory("CSApi-Pool")); // init timeout monitor diff --git a/sensorhub-service-consys/src/main/java/org/sensorhub/impl/service/consys/ConSysApiServiceConfig.java b/sensorhub-service-consys/src/main/java/org/sensorhub/impl/service/consys/ConSysApiServiceConfig.java index 1c0104b085..d209a7ae98 100644 --- a/sensorhub-service-consys/src/main/java/org/sensorhub/impl/service/consys/ConSysApiServiceConfig.java +++ b/sensorhub-service-consys/src/main/java/org/sensorhub/impl/service/consys/ConSysApiServiceConfig.java @@ -79,6 +79,10 @@ public class ConSysApiServiceConfig extends OGCServiceConfig public List uriPrefixMap = new ArrayList<>(); + @DisplayInfo(label="Thread Pool Size", desc="Number of threads used by the service to handle incoming requests") + public int threadPoolSize = Runtime.getRuntime().availableProcessors(); + + public ConSysApiServiceConfig() { this.moduleClass = ConSysApiService.class.getCanonicalName(); From f6156559297f25ad8eee36933433db5d243a06a7 Mon Sep 17 00:00:00 2001 From: Alex Almanza Date: Wed, 7 Jan 2026 15:58:57 -0600 Subject: [PATCH 2/4] Use default of 0 in CSAPI service config, translating to available number of processors in CSAPI service module --- .../org/sensorhub/impl/service/consys/ConSysApiService.java | 2 +- .../impl/service/consys/ConSysApiServiceConfig.java | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/sensorhub-service-consys/src/main/java/org/sensorhub/impl/service/consys/ConSysApiService.java b/sensorhub-service-consys/src/main/java/org/sensorhub/impl/service/consys/ConSysApiService.java index 4ff6f4e876..13ed6954a6 100644 --- a/sensorhub-service-consys/src/main/java/org/sensorhub/impl/service/consys/ConSysApiService.java +++ b/sensorhub-service-consys/src/main/java/org/sensorhub/impl/service/consys/ConSysApiService.java @@ -158,7 +158,7 @@ protected void doStart() throws SensorHubException // init thread pool threadPool = Executors.newScheduledThreadPool( - config.threadPoolSize, + config.threadPoolSize == 0 ? Runtime.getRuntime().availableProcessors() : config.threadPoolSize, new NamedThreadFactory("CSApi-Pool")); // init timeout monitor diff --git a/sensorhub-service-consys/src/main/java/org/sensorhub/impl/service/consys/ConSysApiServiceConfig.java b/sensorhub-service-consys/src/main/java/org/sensorhub/impl/service/consys/ConSysApiServiceConfig.java index d209a7ae98..72f014122a 100644 --- a/sensorhub-service-consys/src/main/java/org/sensorhub/impl/service/consys/ConSysApiServiceConfig.java +++ b/sensorhub-service-consys/src/main/java/org/sensorhub/impl/service/consys/ConSysApiServiceConfig.java @@ -79,8 +79,9 @@ public class ConSysApiServiceConfig extends OGCServiceConfig public List uriPrefixMap = new ArrayList<>(); - @DisplayInfo(label="Thread Pool Size", desc="Number of threads used by the service to handle incoming requests") - public int threadPoolSize = Runtime.getRuntime().availableProcessors(); + @DisplayInfo(label="Thread Pool Size", desc="Number of threads used by the service to handle incoming requests. " + + "When this value is 0, the size of the thread pool will be equal to the available number of CPU processors.") + public int threadPoolSize = 0; public ConSysApiServiceConfig() From 7c61a96377fd84ccc382f89da4b09d38efad037e Mon Sep 17 00:00:00 2001 From: Alex Robin Date: Thu, 8 Jan 2026 09:16:41 +0100 Subject: [PATCH 3/4] use availableProcessors if threadPoolSize is <= 0 --- .../org/sensorhub/impl/service/consys/ConSysApiService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sensorhub-service-consys/src/main/java/org/sensorhub/impl/service/consys/ConSysApiService.java b/sensorhub-service-consys/src/main/java/org/sensorhub/impl/service/consys/ConSysApiService.java index 13ed6954a6..2671639ed4 100644 --- a/sensorhub-service-consys/src/main/java/org/sensorhub/impl/service/consys/ConSysApiService.java +++ b/sensorhub-service-consys/src/main/java/org/sensorhub/impl/service/consys/ConSysApiService.java @@ -158,7 +158,7 @@ protected void doStart() throws SensorHubException // init thread pool threadPool = Executors.newScheduledThreadPool( - config.threadPoolSize == 0 ? Runtime.getRuntime().availableProcessors() : config.threadPoolSize, + config.threadPoolSize <= 0 ? Runtime.getRuntime().availableProcessors() : config.threadPoolSize, new NamedThreadFactory("CSApi-Pool")); // init timeout monitor From 4f4be916fca8add3c871a29289af9709f7abc306 Mon Sep 17 00:00:00 2001 From: Alex Robin Date: Thu, 8 Jan 2026 09:18:07 +0100 Subject: [PATCH 4/4] Update threadPoolSize option description --- .../sensorhub/impl/service/consys/ConSysApiServiceConfig.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sensorhub-service-consys/src/main/java/org/sensorhub/impl/service/consys/ConSysApiServiceConfig.java b/sensorhub-service-consys/src/main/java/org/sensorhub/impl/service/consys/ConSysApiServiceConfig.java index 72f014122a..9f1fee0cf0 100644 --- a/sensorhub-service-consys/src/main/java/org/sensorhub/impl/service/consys/ConSysApiServiceConfig.java +++ b/sensorhub-service-consys/src/main/java/org/sensorhub/impl/service/consys/ConSysApiServiceConfig.java @@ -80,7 +80,7 @@ public class ConSysApiServiceConfig extends OGCServiceConfig @DisplayInfo(label="Thread Pool Size", desc="Number of threads used by the service to handle incoming requests. " + - "When this value is 0, the size of the thread pool will be equal to the available number of CPU processors.") + "When this value is <= 0, the size of the thread pool will be equal to the available number of CPU processors.") public int threadPoolSize = 0;