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 Object
Interface 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 ThreadjobAcquisitionThreadprotected StringlockOwnerprotected intlockTimeInMillisprotected longmaxBackoffprotected intmaxJobsPerAcquisitionprotected longmaxWaitprotected Stringnameprotected List<ProcessEngineImpl>processEnginesprotected RejectedJobsHandlerrejectedJobsHandlerprotected floatwaitIncreaseFactorprotected intwaitTimeInMillis
-
Constructor Summary
Constructors Constructor Description JobExecutor()
-
Method Summary
-
-
-
Field Detail
-
name
protected String name
-
processEngines
protected List<ProcessEngineImpl> processEngines
-
acquireJobsCmdFactory
protected AcquireJobsCommandFactory acquireJobsCmdFactory
-
acquireJobsRunnable
protected AcquireJobsRunnable acquireJobsRunnable
-
rejectedJobsHandler
protected RejectedJobsHandler rejectedJobsHandler
-
jobAcquisitionThread
protected 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 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(List<String> jobIds, ProcessEngineImpl processEngine)
-
executeJobs
@Deprecated public void executeJobs(List<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 List<ProcessEngineImpl> getProcessEngines()
-
engineIterator
public 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 String getLockOwner()
-
setLockOwner
public void setLockOwner(String lockOwner)
-
isAutoActivate
public boolean isAutoActivate()
-
setProcessEngines
public void setProcessEngines(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 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 Runnable getExecuteJobsRunnable(List<String> jobIds, ProcessEngineImpl processEngine)
-
-