From 95e04111f63bca2c24f6fbe32cca3db96074f7cd Mon Sep 17 00:00:00 2001 From: fjtirado Date: Tue, 23 Dec 2025 16:17:58 +0100 Subject: [PATCH] [Fix #844] Allow disable life cycle events per publisher Signed-off-by: fjtirado --- .../io/serverlessworkflow/impl/events/EventPublisher.java | 5 +++++ .../impl/lifecycle/ce/AbstractLifeCyclePublisher.java | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/impl/core/src/main/java/io/serverlessworkflow/impl/events/EventPublisher.java b/impl/core/src/main/java/io/serverlessworkflow/impl/events/EventPublisher.java index 632bbef8f..2182f8ed1 100644 --- a/impl/core/src/main/java/io/serverlessworkflow/impl/events/EventPublisher.java +++ b/impl/core/src/main/java/io/serverlessworkflow/impl/events/EventPublisher.java @@ -20,4 +20,9 @@ public interface EventPublisher extends AutoCloseable { CompletableFuture publish(CloudEvent event); + + /*If published decide to ignore life cycle events, override this method and leave it empty*/ + default void publishLifeCycle(CloudEvent event) { + publish(event); + } } diff --git a/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/ce/AbstractLifeCyclePublisher.java b/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/ce/AbstractLifeCyclePublisher.java index 1d80665dd..ca736bc8b 100644 --- a/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/ce/AbstractLifeCyclePublisher.java +++ b/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/ce/AbstractLifeCyclePublisher.java @@ -328,7 +328,7 @@ protected void publish(T ev, Function c * using application event publishers. That might be changed if needed by children by overriding this method */ protected void publish(WorkflowApplication application, CloudEvent ce) { - application.eventPublishers().forEach(p -> p.publish(ce)); + application.eventPublishers().forEach(p -> p.publishLifeCycle(ce)); } private static CloudEventData cloudEventData(T data, ToBytes toBytes) {