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 84c912310..2671639ed 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 <= 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 1c0104b08..9f1fee0cf 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,11 @@ 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. " + + "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() { this.moduleClass = ConSysApiService.class.getCanonicalName();