Class TransactionAwareSchedulerServiceInterceptor

  • All Implemented Interfaces:
    SchedulerServiceInterceptor

    public class TransactionAwareSchedulerServiceInterceptor
    extends DelegateSchedulerServiceInterceptor
    Transaction aware scheduler service interceptor that will delay actual scheduling of the timer job instance to the afterCompletion phase of JTA transaction. Scheduling will only take place when transaction was successfully committed. That will make the timers transactional to avoid any issues with having timer registered even though transaction was rolled back.
    NOTE:This interceptor should not be used for GlobalSchedulerService that are by nature transactional e.g. Quartz with Data Base job store.
    • Constructor Detail

      • TransactionAwareSchedulerServiceInterceptor

        public TransactionAwareSchedulerServiceInterceptor​(org.kie.api.runtime.manager.RuntimeEnvironment environment,
                                                           org.kie.api.runtime.manager.RuntimeManager manager,
                                                           GlobalSchedulerService schedulerService)
    • Method Detail

      • hasEnvironmentEntry

        protected boolean hasEnvironmentEntry​(String name,
                                              Object value)
      • getTransactionManager

        protected org.drools.persistence.api.TransactionManager getTransactionManager​(org.drools.core.time.JobContext jobContext)
      • getEnvironment

        protected org.kie.api.runtime.Environment getEnvironment​(org.drools.core.time.JobContext jobContext)
      • getProcessInstancId

        protected Long getProcessInstancId​(org.drools.core.time.JobContext jobContext)