jBPM distribution 6.2.0.CR4

org.jbpm.runtime.manager.impl.tx
Class TransactionAwareSchedulerServiceInterceptor

java.lang.Object
  extended by org.jbpm.process.core.timer.impl.DelegateSchedulerServiceInterceptor
      extended by 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
TransactionAwareSchedulerServiceInterceptor(RuntimeEnvironment environment, RuntimeManager manager, GlobalSchedulerService schedulerService)
           
 
Method Summary
protected  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(RuntimeEnvironment environment,
                                                   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 Environment getEnvironment(org.drools.core.time.JobContext jobContext)

getProcessInstancId

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

jBPM distribution 6.2.0.CR4

Copyright © 2001-2015 JBoss by Red Hat. All Rights Reserved.