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 632bbef8..2182f8ed 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 1d80665d..ca736bc8 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) {