From 1a2c81d9e297757fadef309ede2a85c8dbb1bb11 Mon Sep 17 00:00:00 2001 From: Kai Kreuzer Date: Sun, 13 Dec 2020 09:31:09 +0100 Subject: [PATCH] Improved startup logging and avoid scripts being loaded in start level service thread (#1919) Signed-off-by: Kai Kreuzer --- .../rulesupport/internal/loader/ScriptFileWatcher.java | 9 ++++++--- .../openhab/core/automation/internal/RuleEngineImpl.java | 1 + .../java/org/openhab/core/service/StartLevelService.java | 1 + 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/bundles/org.openhab.core.automation.module.script.rulesupport/src/main/java/org/openhab/core/automation/module/script/rulesupport/internal/loader/ScriptFileWatcher.java b/bundles/org.openhab.core.automation.module.script.rulesupport/src/main/java/org/openhab/core/automation/module/script/rulesupport/internal/loader/ScriptFileWatcher.java index f7b2b105a..90410bdfb 100644 --- a/bundles/org.openhab.core.automation.module.script.rulesupport/src/main/java/org/openhab/core/automation/module/script/rulesupport/internal/loader/ScriptFileWatcher.java +++ b/bundles/org.openhab.core.automation.module.script.rulesupport/src/main/java/org/openhab/core/automation/module/script/rulesupport/internal/loader/ScriptFileWatcher.java @@ -301,9 +301,12 @@ public class ScriptFileWatcher extends AbstractWatchService implements ReadyTrac @Override public void onReadyMarkerAdded(@NonNull ReadyMarker readyMarker) { started = true; - importResources(new File(pathToWatch)); - scheduler = Executors.newSingleThreadScheduledExecutor(new NamedThreadFactory("scriptwatcher")); - scheduler.scheduleWithFixedDelay(this::checkFiles, RECHECK_INTERVAL, RECHECK_INTERVAL, TimeUnit.SECONDS); + + ScheduledExecutorService localScheduler = Executors + .newSingleThreadScheduledExecutor(new NamedThreadFactory("scriptwatcher")); + scheduler = localScheduler; + localScheduler.submit(() -> importResources(new File(pathToWatch))); + localScheduler.scheduleWithFixedDelay(this::checkFiles, RECHECK_INTERVAL, RECHECK_INTERVAL, TimeUnit.SECONDS); } @Override diff --git a/bundles/org.openhab.core.automation/src/main/java/org/openhab/core/automation/internal/RuleEngineImpl.java b/bundles/org.openhab.core.automation/src/main/java/org/openhab/core/automation/internal/RuleEngineImpl.java index 9bb789a11..0df4ed040 100644 --- a/bundles/org.openhab.core.automation/src/main/java/org/openhab/core/automation/internal/RuleEngineImpl.java +++ b/bundles/org.openhab.core.automation/src/main/java/org/openhab/core/automation/internal/RuleEngineImpl.java @@ -1440,6 +1440,7 @@ public class RuleEngineImpl implements RuleManager, RegistryChangeListener { StartlevelEvent startlevelEvent = SystemEventFactory.createStartlevelEvent(level); eventPublisher.post(startlevelEvent); + logger.debug("Reached start level {}", level); }); } }