diff --git a/li.strolch.service/src/main/java/li/strolch/execution/EventBasedExecutionHandler.java b/li.strolch.service/src/main/java/li/strolch/execution/EventBasedExecutionHandler.java index a421d37fc..7caf359e6 100644 --- a/li.strolch.service/src/main/java/li/strolch/execution/EventBasedExecutionHandler.java +++ b/li.strolch.service/src/main/java/li/strolch/execution/EventBasedExecutionHandler.java @@ -100,6 +100,19 @@ public class EventBasedExecutionHandler extends ExecutionHandler { } } + @Override + public void triggerExecution(String realm) { + synchronized (this.registeredActivities) { + Set locators = this.registeredActivities.getSet(realm); + if (locators != null) { + for (Locator locator : locators) { + // execute async + toExecution(realm, locator); + } + } + } + } + @Override public void toExecution(String realm, Locator locator) { this.executorService.execute(() -> { @@ -184,8 +197,8 @@ public class EventBasedExecutionHandler extends ExecutionHandler { KEY_DEFAULT_ACTIVITY_ARCHIVAL); } - ActivityArchivalPolicy archivalPolicy = getComponent(PolicyHandler.class).getPolicy(policyDef, - tx); + PolicyHandler policyHandler = getComponent(PolicyHandler.class); + ActivityArchivalPolicy archivalPolicy = policyHandler.getPolicy(policyDef, tx); archivalPolicy.archive(activity); } @@ -267,23 +280,6 @@ public class EventBasedExecutionHandler extends ExecutionHandler { triggerExecution(realm); } - /** - * Triggers a to execution for all registered activities in the given realm - * - * @param realm - */ - private void triggerExecution(String realm) { - synchronized (this.registeredActivities) { - Set locators = this.registeredActivities.getSet(realm); - if (locators != null) { - for (Locator locator : locators) { - // execute async - toExecution(realm, locator); - } - } - } - } - private void toWarning(String realm, Locator actionLoc, PrivilegeContext ctx) { try (StrolchTransaction tx = openTx(realm, ctx.getCertificate(), SetActionToExecutedCommand.class)) { Locator rootElemLoc = actionLoc.trim(3); diff --git a/li.strolch.service/src/main/java/li/strolch/execution/ExecutionHandler.java b/li.strolch.service/src/main/java/li/strolch/execution/ExecutionHandler.java index 35e49ca59..0159c2533 100644 --- a/li.strolch.service/src/main/java/li/strolch/execution/ExecutionHandler.java +++ b/li.strolch.service/src/main/java/li/strolch/execution/ExecutionHandler.java @@ -55,6 +55,14 @@ public abstract class ExecutionHandler extends StrolchComponent { */ public abstract void removeFromExecution(String realm, Locator activityLoc); + /** + * Triggers a to execution for all registered activities in the given realm + * + * @param realm + * the realm to trigger execution for + */ + public abstract void triggerExecution(String realm); + /** *

* Returns the {@link DelayedExecutionTimer} @@ -118,4 +126,5 @@ public abstract class ExecutionHandler extends StrolchComponent { * the {@link Locator} of the {@link Action} */ public abstract void toError(String realm, Locator actionLoc); + }