Skip to content

Trigger Life Cycle Events

Paul Sterl edited this page Jan 19, 2025 · 4 revisions

Any trigger follows a particular life cycle having the status:

  1. WAITING => TriggerAddedEvent
  2. RUNNING => TriggerRunningEvent
  3. SUCCESS => TriggerSuccessEvent
  4. FAILED => TriggerFailedEvent
  5. CANCELED => TriggerCanceledEvent

TriggerLifeCycleEvent

Create a custom life cycle listener

Based on this events custom trigger listeners may be build to react to any kind of state change of a trigger e.g. like the build in MDC listener:

@Component
public class MdcTriggerInterceptor {

    public static final String TASK_NAME = "taskName";
    public static final String TASK_ID = "taskId";

    @EventListener
    public void beforeRun(TriggerRunningEvent data) {
        MDC.put(TASK_NAME, data.key().getTaskName());
        MDC.put(TASK_ID, data.key().getId());
    }
    @EventListener
    public void onFailed(TriggerFailedEvent data) {
        MDC.remove(TASK_NAME);
        MDC.remove(TASK_ID);
    }
    @EventListener
    public void onSuccess(TriggerSuccessEvent data) {
        MDC.remove(TASK_NAME);
        MDC.remove(TASK_ID);
    }
}
Clone this wiki locally