Class JobExecutor
- java.lang.Object
-
- org.camunda.bpm.engine.impl.jobexecutor.JobExecutor
-
- Direct Known Subclasses:
ManagedJobExecutor,ManagedJobExecutor,RuntimeContainerJobExecutor,SpringJobExecutor,ThreadPoolJobExecutor
public abstract class JobExecutor extends java.lang.ObjectInterface to the component responsible for performing background work (
Jobs).The
JobExecutoris capable of dispatching to multiple process engines, ie. multiple process engines can share a single Thread Pool for performing Background Work.In clustered situations, you can have multiple Job Executors running against the same queue + pending job list.
- Author:
- Daniel Meyer
-
-
Field Summary
Fields Modifier and Type Field Description protected AcquireJobsCommandFactoryacquireJobsCmdFactoryprotected AcquireJobsRunnableacquireJobsRunnableprotected intbackoffDecreaseThresholdThe number of job acquisition cycles without locking failures until the backoff level is reduced.protected intbackoffTimeInMillisprotected booleanisActiveprotected booleanisAutoActivateprotected java.lang.ThreadjobAcquisitionThreadprotected java.lang.StringlockOwnerprotected intlockTimeInMillisprotected longmaxBackoffprotected intmaxJobsPerAcquisitionprotected longmaxWaitprotected java.lang.Stringnameprotected java.util.List<ProcessEngineImpl>processEnginesprotected RejectedJobsHandlerrejectedJobsHandlerprotected floatwaitIncreaseFactorprotected intwaitTimeInMillis
-
Constructor Summary
Constructors Constructor Description JobExecutor()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description java.util.Iterator<ProcessEngineImpl>engineIterator()Must return an iterator of registered process engines that is independent of concurrent modifications to the underlying data structure of engines.protected voidensureCleanup()protected voidensureInitialization()voidexecuteJobs(java.util.List<java.lang.String> jobIds)Deprecated.abstract voidexecuteJobs(java.util.List<java.lang.String> jobIds, ProcessEngineImpl processEngine)Command<AcquiredJobs>getAcquireJobsCmd(int numJobs)AcquireJobsCommandFactorygetAcquireJobsCmdFactory()AcquireJobsRunnablegetAcquireJobsRunnable()intgetBackoffDecreaseThreshold()intgetBackoffTimeInMillis()CommandExecutorgetCommandExecutor()Deprecated.java.lang.RunnablegetExecuteJobsRunnable(java.util.List<java.lang.String> jobIds, ProcessEngineImpl processEngine)java.lang.StringgetLockOwner()intgetLockTimeInMillis()longgetMaxBackoff()intgetMaxJobsPerAcquisition()longgetMaxWait()java.lang.StringgetName()java.util.List<ProcessEngineImpl>getProcessEngines()RejectedJobsHandlergetRejectedJobsHandler()floatgetWaitIncreaseFactor()intgetWaitTimeInMillis()booleanhasRegisteredEngine(ProcessEngineImpl engine)booleanisActive()booleanisAutoActivate()voidjobWasAdded()voidlogAcquiredJobs(ProcessEngineImpl engine, int numJobs)voidlogAcquisitionAttempt(ProcessEngineImpl engine)voidlogAcquisitionFailureJobs(ProcessEngineImpl engine, int numJobs)voidlogRejectedExecution(ProcessEngineImpl engine, int numJobs)voidregisterProcessEngine(ProcessEngineImpl processEngine)voidsetAcquireJobsCmdFactory(AcquireJobsCommandFactory acquireJobsCmdFactory)voidsetAutoActivate(boolean isAutoActivate)voidsetBackoffDecreaseThreshold(int backoffDecreaseThreshold)voidsetBackoffTimeInMillis(int backoffTimeInMillis)voidsetCommandExecutor(CommandExecutor commandExecutorTxRequired)Deprecated.voidsetLockOwner(java.lang.String lockOwner)voidsetLockTimeInMillis(int lockTimeInMillis)voidsetMaxBackoff(long maxBackoff)voidsetMaxJobsPerAcquisition(int maxJobsPerAcquisition)voidsetMaxWait(long maxWait)voidsetProcessEngines(java.util.List<ProcessEngineImpl> processEngines)voidsetRejectedJobsHandler(RejectedJobsHandler rejectedJobsHandler)voidsetWaitIncreaseFactor(float waitIncreaseFactor)voidsetWaitTimeInMillis(int waitTimeInMillis)voidshutdown()voidstart()protected abstract voidstartExecutingJobs()protected voidstartJobAcquisitionThread()protected abstract voidstopExecutingJobs()protected voidstopJobAcquisitionThread()voidunregisterProcessEngine(ProcessEngineImpl processEngine)
-
-
-
Field Detail
-
name
protected java.lang.String name
-
processEngines
protected java.util.List<ProcessEngineImpl> processEngines
-
acquireJobsCmdFactory
protected AcquireJobsCommandFactory acquireJobsCmdFactory
-
acquireJobsRunnable
protected AcquireJobsRunnable acquireJobsRunnable
-
rejectedJobsHandler
protected RejectedJobsHandler rejectedJobsHandler
-
jobAcquisitionThread
protected java.lang.Thread jobAcquisitionThread
-
isAutoActivate
protected boolean isAutoActivate
-
isActive
protected boolean isActive
-
maxJobsPerAcquisition
protected int maxJobsPerAcquisition
-
waitTimeInMillis
protected int waitTimeInMillis
-
waitIncreaseFactor
protected float waitIncreaseFactor
-
maxWait
protected long maxWait
-
backoffTimeInMillis
protected int backoffTimeInMillis
-
maxBackoff
protected long maxBackoff
-
backoffDecreaseThreshold
protected int backoffDecreaseThreshold
The number of job acquisition cycles without locking failures until the backoff level is reduced.
-
lockOwner
protected java.lang.String lockOwner
-
lockTimeInMillis
protected int lockTimeInMillis
-
-
Method Detail
-
start
public void start()
-
shutdown
public void shutdown()
-
ensureInitialization
protected void ensureInitialization()
-
ensureCleanup
protected void ensureCleanup()
-
jobWasAdded
public void jobWasAdded()
-
registerProcessEngine
public void registerProcessEngine(ProcessEngineImpl processEngine)
-
unregisterProcessEngine
public void unregisterProcessEngine(ProcessEngineImpl processEngine)
-
startExecutingJobs
protected abstract void startExecutingJobs()
-
stopExecutingJobs
protected abstract void stopExecutingJobs()
-
executeJobs
public abstract void executeJobs(java.util.List<java.lang.String> jobIds, ProcessEngineImpl processEngine)
-
executeJobs
@Deprecated public void executeJobs(java.util.List<java.lang.String> jobIds)
Deprecated.Deprecated: useexecuteJobs(List, ProcessEngineImpl)instead- Parameters:
jobIds-
-
logAcquisitionAttempt
public void logAcquisitionAttempt(ProcessEngineImpl engine)
-
logAcquiredJobs
public void logAcquiredJobs(ProcessEngineImpl engine, int numJobs)
-
logAcquisitionFailureJobs
public void logAcquisitionFailureJobs(ProcessEngineImpl engine, int numJobs)
-
logRejectedExecution
public void logRejectedExecution(ProcessEngineImpl engine, int numJobs)
-
getProcessEngines
public java.util.List<ProcessEngineImpl> getProcessEngines()
-
engineIterator
public java.util.Iterator<ProcessEngineImpl> engineIterator()
Must return an iterator of registered process engines that is independent of concurrent modifications to the underlying data structure of engines.
-
hasRegisteredEngine
public boolean hasRegisteredEngine(ProcessEngineImpl engine)
-
getCommandExecutor
@Deprecated public CommandExecutor getCommandExecutor()
Deprecated.Deprecated: usegetProcessEngines()instead
-
setCommandExecutor
@Deprecated public void setCommandExecutor(CommandExecutor commandExecutorTxRequired)
Deprecated.Deprecated: useregisterProcessEngine(ProcessEngineImpl)instead- Parameters:
commandExecutorTxRequired-
-
getWaitTimeInMillis
public int getWaitTimeInMillis()
-
setWaitTimeInMillis
public void setWaitTimeInMillis(int waitTimeInMillis)
-
getBackoffTimeInMillis
public int getBackoffTimeInMillis()
-
setBackoffTimeInMillis
public void setBackoffTimeInMillis(int backoffTimeInMillis)
-
getLockTimeInMillis
public int getLockTimeInMillis()
-
setLockTimeInMillis
public void setLockTimeInMillis(int lockTimeInMillis)
-
getLockOwner
public java.lang.String getLockOwner()
-
setLockOwner
public void setLockOwner(java.lang.String lockOwner)
-
isAutoActivate
public boolean isAutoActivate()
-
setProcessEngines
public void setProcessEngines(java.util.List<ProcessEngineImpl> processEngines)
-
setAutoActivate
public void setAutoActivate(boolean isAutoActivate)
-
getMaxJobsPerAcquisition
public int getMaxJobsPerAcquisition()
-
setMaxJobsPerAcquisition
public void setMaxJobsPerAcquisition(int maxJobsPerAcquisition)
-
getWaitIncreaseFactor
public float getWaitIncreaseFactor()
-
setWaitIncreaseFactor
public void setWaitIncreaseFactor(float waitIncreaseFactor)
-
getMaxWait
public long getMaxWait()
-
setMaxWait
public void setMaxWait(long maxWait)
-
getMaxBackoff
public long getMaxBackoff()
-
setMaxBackoff
public void setMaxBackoff(long maxBackoff)
-
getBackoffDecreaseThreshold
public int getBackoffDecreaseThreshold()
-
setBackoffDecreaseThreshold
public void setBackoffDecreaseThreshold(int backoffDecreaseThreshold)
-
getName
public java.lang.String getName()
-
getAcquireJobsCmd
public Command<AcquiredJobs> getAcquireJobsCmd(int numJobs)
-
getAcquireJobsCmdFactory
public AcquireJobsCommandFactory getAcquireJobsCmdFactory()
-
setAcquireJobsCmdFactory
public void setAcquireJobsCmdFactory(AcquireJobsCommandFactory acquireJobsCmdFactory)
-
isActive
public boolean isActive()
-
getRejectedJobsHandler
public RejectedJobsHandler getRejectedJobsHandler()
-
setRejectedJobsHandler
public void setRejectedJobsHandler(RejectedJobsHandler rejectedJobsHandler)
-
startJobAcquisitionThread
protected void startJobAcquisitionThread()
-
stopJobAcquisitionThread
protected void stopJobAcquisitionThread()
-
getAcquireJobsRunnable
public AcquireJobsRunnable getAcquireJobsRunnable()
-
getExecuteJobsRunnable
public java.lang.Runnable getExecuteJobsRunnable(java.util.List<java.lang.String> jobIds, ProcessEngineImpl processEngine)
-
-