From 0da88a02c71417e0f9d9ac8c6545ef13a772b5a0 Mon Sep 17 00:00:00 2001 From: Yuk-Ming Lam Date: Thu, 7 Jan 2021 01:55:58 -0500 Subject: [PATCH] Add support for SMS provider property 'service_threadpool_size'. --- src/main/java/altk/comm/engine/Broadcast.java | 15 ++++++++------- src/main/java/altk/comm/engine/CommEngine.java | 6 ++++-- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/main/java/altk/comm/engine/Broadcast.java b/src/main/java/altk/comm/engine/Broadcast.java index 3630c80..eccc197 100644 --- a/src/main/java/altk/comm/engine/Broadcast.java +++ b/src/main/java/altk/comm/engine/Broadcast.java @@ -72,7 +72,7 @@ public abstract class Broadcast private int completedJobCount; private ScheduledExecutorService scheduler; - private int serviceThreadPoolSize; + private int serviceThreadPoolSize_default; private int jobsTotal; public static enum BroadcastState @@ -433,7 +433,7 @@ public abstract class Broadcast { myLogger.debug("Entering Broadcast.doPost method"); BroadcastException myException = null; - this.serviceThreadPoolSize = commEngine.getServiceThreadPoolSize(); + serviceThreadPoolSize_default = commEngine.getServiceThreadPoolSize(); try { boolean notInService = commEngine.notInService(); @@ -517,6 +517,7 @@ public abstract class Broadcast // at the same time, setting up a list of service thread names // for use by derived class to set up contexts in which // these threads run. + int serviceThreadPoolSize = getServiceThreadPoolSize(); myLogger.debug("At creating service threads, serviceThreadPoolSize = " + serviceThreadPoolSize); List serviceThreadNames = new ArrayList(); for (int i = 0; i < serviceThreadPoolSize; i++) @@ -542,6 +543,11 @@ public abstract class Broadcast } } + protected int getServiceThreadPoolSize() + { + return serviceThreadPoolSize_default; + } + protected abstract void returnPrerequisites(ServicePrerequisites prerequisites); /** @@ -1170,11 +1176,6 @@ public abstract class Broadcast return completedJobCount; } - protected void setServiceThreadPoolsize(int serviceThreadPoolSize) - { - this.serviceThreadPoolSize = serviceThreadPoolSize; - } - public String getBroadcastType() { return broadcastType; } diff --git a/src/main/java/altk/comm/engine/CommEngine.java b/src/main/java/altk/comm/engine/CommEngine.java index 2b20547..f1ad4f2 100644 --- a/src/main/java/altk/comm/engine/CommEngine.java +++ b/src/main/java/altk/comm/engine/CommEngine.java @@ -27,7 +27,9 @@ import altk.comm.engine.Broadcast.BroadcastState; @SuppressWarnings("serial") public abstract class CommEngine extends HttpServlet { - static final String REQUEST_TOP_ELEMENT_NAME_DEFAULT = "Request"; + public static final String SERVICE_THREADPOOL_SIZE_KEY = "service_threadpool_size"; + + static final String REQUEST_TOP_ELEMENT_NAME_DEFAULT = "Request"; private static final int SCHEDULER_THREAD_POOL_SIZE = 1; @@ -191,7 +193,7 @@ public abstract class CommEngine extends HttpServlet deadBroadcastViewingMinutes = Long.parseLong(periodStr); CommonLogger.startup.info(String.format("Dead broadcast viewing period: %d minutes", deadBroadcastViewingMinutes)); - String str = config.getProperty("service_threadpool_size", + String str = config.getProperty(SERVICE_THREADPOOL_SIZE_KEY, new Integer(SERVICE_THREADPOOL_SIZE_DEFAULT).toString()); serviceThreadPoolSize = Integer.parseInt(str); CommonLogger.startup.info(String.format("service thread pool size: %d", serviceThreadPoolSize));