org.jbpm.runtime.manager.impl.tx

## Class TransactionAwareSchedulerServiceInterceptor

- java.lang.Object
- - org.jbpm.process.core.timer.impl.DelegateSchedulerServiceInterceptor
  - - org.jbpm.runtime.manager.impl.tx.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.

- - ### Field Summary

    - ### Fields inherited from class org.jbpm.process.core.timer.impl.DelegateSchedulerServiceInterceptor

      `delegate`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `TransactionAwareSchedulerServiceInterceptor(org.kie.api.runtime.manager.RuntimeEnvironment environment, org.kie.api.runtime.manager.RuntimeManager manager, GlobalSchedulerService schedulerService)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected org.kie.api.runtime.Environment` | `getEnvironment(org.drools.core.time.JobContext jobContext)`
    `protected Long` | `getProcessInstancId(org.drools.core.time.JobContext jobContext)`
    `protected org.drools.persistence.TransactionManager` | `getTransactionManager(org.drools.core.time.JobContext jobContext)`
    `protected boolean` | `hasEnvironmentEntry(String name, Object value)`
    `void` | `internalSchedule(org.drools.core.time.impl.TimerJobInstance timerJobInstance)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### TransactionAwareSchedulerServiceInterceptor

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

  - ### Method Detail

    - #### internalSchedule

          public final void internalSchedule(org.drools.core.time.impl.TimerJobInstance timerJobInstance)

      Specified by:
        `internalSchedule` in interface `SchedulerServiceInterceptor`
      Overrides:
        `internalSchedule` in class `DelegateSchedulerServiceInterceptor`

    - #### hasEnvironmentEntry

          protected boolean hasEnvironmentEntry(String name,
                                    Object value)

    - #### getTransactionManager

          protected org.drools.persistence.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)

Copyright © 2001–2016 JBoss by Red Hat. All rights reserved.