diff --git a/src/main/java/altk/comm/engine/CommEngine.java b/src/main/java/altk/comm/engine/CommEngine.java index c53770d..f6c9a99 100644 --- a/src/main/java/altk/comm/engine/CommEngine.java +++ b/src/main/java/altk/comm/engine/CommEngine.java @@ -89,34 +89,47 @@ public abstract class CommEngine extends HttpServlet protected class DailyClock extends Thread { + private static final String DAILY_CLOCK_THREAD_NAME = "DailyClock"; + private boolean threadShouldStop = false; + DailyClock() + { + setName(DAILY_CLOCK_THREAD_NAME); + } public void run() { - while (!threadShouldStop) + try { - // Check for pause - for (Broadcast broadcast : broadcasts.values()) - { - broadcast.enforceOperationHours(); - } - - // sleep till next wall clock minute - long currentTime = System.currentTimeMillis(); - long sleepTime = 60000 - currentTime % 60000; - if (sleepTime > 0) + while (!threadShouldStop) { - try + // Check for pause + for (Broadcast broadcast : broadcasts.values()) { - Thread.sleep(sleepTime); - } - catch (Exception e) + broadcast.enforceOperationHours(); + } + + // sleep till next wall clock minute + long currentTime = System.currentTimeMillis(); + long sleepTime = 60000 - currentTime % 60000; + if (sleepTime > 0) { - myLogger.error("DailyClock thread caught: " + e.getMessage(), e); - return; + try + { + Thread.sleep(sleepTime); + } + catch (Exception e) + { + myLogger.error("DailyClock thread caught: " + e.getMessage(), e); + return; + } } } } + catch (Throwable t) + { + myLogger.error(DAILY_CLOCK_THREAD_NAME + " thread caught: " + t.getMessage(), t); + } } public void terminate() @@ -177,7 +190,7 @@ public abstract class CommEngine extends HttpServlet // This change is backward compatible with placing the log4j.properties file in // the class path. String log4j_properties = confDirPath + "/log4j.properties"; - // Relocate file property offetting it by the runtimeDirPath + // Relocate file property offsetting it by the runtimeDirPath try { Properties prop = new Properties(); @@ -230,8 +243,6 @@ public abstract class CommEngine extends HttpServlet return; } - Thread dailyClock; - CommonLogger.startup.info(String.format("Dead broadcast viewing period: %d minutes", deadBroadcastViewingMinutes)); CommonLogger.startup.info(String.format("service thread pool size: %d", getServiceThreadPoolSize()));