org.jbpm.pvm.internal.jobexecutor
Class DispatcherThread

java.lang.Object
  extended by java.lang.Thread
      extended by org.jbpm.pvm.internal.jobexecutor.DispatcherThread
All Implemented Interfaces:
java.lang.Runnable

public class DispatcherThread
extends java.lang.Thread

this thread is responsible for acquiring jobs in the job that need to be executed and then let the JobExecutor dispatch the acquired ids to one of the JobExecutorThreads in the pool. There is only one dispatcher thread per JobExecutor.

Author:
Tom Baeyens, Guillaume Porcher

Nested Class Summary
 
Nested classes/interfaces inherited from class java.lang.Thread
java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
 
Field Summary
protected  boolean checkForNewJobs
           
protected  int currentIdleInterval
           
protected  boolean isActive
           
protected  JobExecutor jobExecutor
           
protected  java.lang.Object semaphore
           
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
protected DispatcherThread(JobExecutor jobExecutor)
           
protected DispatcherThread(JobExecutor jobExecutor, java.lang.String name)
           
 
Method Summary
protected  java.util.Collection<java.lang.Long> acquireJobs()
           
 void deactivate()
           
 void deactivate(boolean join)
           
protected  java.util.Date getNextDueDate()
           
protected  long getWaitPeriod()
           
 boolean isActive()
           
 void jobWasAdded()
           
 void run()
           
protected  void submitAcquiredJobDbids(java.util.Collection<java.lang.Long> jobDbids)
           
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

jobExecutor

protected JobExecutor jobExecutor

isActive

protected volatile boolean isActive

checkForNewJobs

protected boolean checkForNewJobs

currentIdleInterval

protected int currentIdleInterval

semaphore

protected java.lang.Object semaphore
Constructor Detail

DispatcherThread

protected DispatcherThread(JobExecutor jobExecutor)

DispatcherThread

protected DispatcherThread(JobExecutor jobExecutor,
                           java.lang.String name)
Method Detail

run

public void run()
Specified by:
run in interface java.lang.Runnable
Overrides:
run in class java.lang.Thread

submitAcquiredJobDbids

protected void submitAcquiredJobDbids(java.util.Collection<java.lang.Long> jobDbids)

acquireJobs

protected java.util.Collection<java.lang.Long> acquireJobs()

getNextDueDate

protected java.util.Date getNextDueDate()

getWaitPeriod

protected long getWaitPeriod()

deactivate

public void deactivate()

deactivate

public void deactivate(boolean join)

jobWasAdded

public void jobWasAdded()

isActive

public boolean isActive()


Copyright © 2010 JBoss Community. All Rights Reserved.