public abstract class AbstractAsyncJobExecutor extends Object implements AsyncExecutor
Modifier and Type | Field and Description |
---|---|
protected Thread |
asyncJobAcquisitionThread |
protected int |
asyncJobLockTimeInMillis |
protected AcquireAsyncJobsDueRunnable |
asyncJobsDueRunnable |
protected CommandExecutor |
commandExecutor |
protected int |
defaultAsyncJobAcquireWaitTimeInMillis |
protected int |
defaultQueueSizeFullWaitTime |
protected int |
defaultTimerJobAcquireWaitTimeInMillis |
protected ExecuteAsyncRunnableFactory |
executeAsyncRunnableFactory |
protected boolean |
isActive |
protected boolean |
isAutoActivate |
protected long |
keepAliveTime
The time (in milliseconds) a thread used for job execution must be kept alive before it is
destroyed.
|
protected String |
lockOwner |
protected int |
maxAsyncJobsDuePerAcquisition |
protected int |
maxTimerJobsPerAcquisition |
protected int |
retryWaitTimeInMillis |
protected LinkedList<JobEntity> |
temporaryJobQueue |
protected Thread |
timerJobAcquisitionThread |
protected AcquireTimerJobsRunnable |
timerJobRunnable |
protected int |
timerLockTimeInMillis |
Constructor and Description |
---|
AbstractAsyncJobExecutor() |
protected long keepAliveTime
protected Thread timerJobAcquisitionThread
protected Thread asyncJobAcquisitionThread
protected AcquireTimerJobsRunnable timerJobRunnable
protected AcquireAsyncJobsDueRunnable asyncJobsDueRunnable
protected ExecuteAsyncRunnableFactory executeAsyncRunnableFactory
protected boolean isAutoActivate
protected boolean isActive
protected int maxTimerJobsPerAcquisition
protected int maxAsyncJobsDuePerAcquisition
protected int defaultTimerJobAcquireWaitTimeInMillis
protected int defaultAsyncJobAcquireWaitTimeInMillis
protected int defaultQueueSizeFullWaitTime
protected String lockOwner
protected int timerLockTimeInMillis
protected int asyncJobLockTimeInMillis
protected int retryWaitTimeInMillis
protected LinkedList<JobEntity> temporaryJobQueue
protected CommandExecutor commandExecutor
public boolean executeAsyncJob(JobEntity job)
AsyncExecutor
JobEntity
to this AsyncExecutor
instance
to execute. If the offering does not work for some reason, false
will be returned (For example when the job queue is full in the DefaultAsyncJobExecutor
).executeAsyncJob
in interface AsyncExecutor
protected abstract boolean executeAsyncJob(Runnable runnable)
protected void doUnlockJob(JobEntity job)
protected void unlockJob(JobEntity job, CommandContext commandContext)
public void start()
start
in interface AsyncExecutor
protected void initialize()
public void shutdown()
shutdown
in interface AsyncExecutor
protected abstract void startExecutingAsyncJobs()
protected abstract void stopExecutingAsyncJobs()
protected void startJobAcquisitionThread()
protected void stopJobAcquisitionThread()
public CommandExecutor getCommandExecutor()
getCommandExecutor
in interface AsyncExecutor
public void setCommandExecutor(CommandExecutor commandExecutor)
setCommandExecutor
in interface AsyncExecutor
public boolean isAutoActivate()
isAutoActivate
in interface AsyncExecutor
public void setAutoActivate(boolean isAutoActivate)
setAutoActivate
in interface AsyncExecutor
public boolean isActive()
isActive
in interface AsyncExecutor
public long getKeepAliveTime()
public void setKeepAliveTime(long keepAliveTime)
public String getLockOwner()
getLockOwner
in interface AsyncExecutor
public void setLockOwner(String lockOwner)
public int getTimerLockTimeInMillis()
getTimerLockTimeInMillis
in interface AsyncExecutor
public void setTimerLockTimeInMillis(int timerLockTimeInMillis)
setTimerLockTimeInMillis
in interface AsyncExecutor
public int getAsyncJobLockTimeInMillis()
getAsyncJobLockTimeInMillis
in interface AsyncExecutor
public void setAsyncJobLockTimeInMillis(int asyncJobLockTimeInMillis)
setAsyncJobLockTimeInMillis
in interface AsyncExecutor
public int getMaxTimerJobsPerAcquisition()
getMaxTimerJobsPerAcquisition
in interface AsyncExecutor
public void setMaxTimerJobsPerAcquisition(int maxTimerJobsPerAcquisition)
setMaxTimerJobsPerAcquisition
in interface AsyncExecutor
public int getMaxAsyncJobsDuePerAcquisition()
getMaxAsyncJobsDuePerAcquisition
in interface AsyncExecutor
public void setMaxAsyncJobsDuePerAcquisition(int maxAsyncJobsDuePerAcquisition)
setMaxAsyncJobsDuePerAcquisition
in interface AsyncExecutor
public int getDefaultTimerJobAcquireWaitTimeInMillis()
getDefaultTimerJobAcquireWaitTimeInMillis
in interface AsyncExecutor
public void setDefaultTimerJobAcquireWaitTimeInMillis(int defaultTimerJobAcquireWaitTimeInMillis)
setDefaultTimerJobAcquireWaitTimeInMillis
in interface AsyncExecutor
public int getDefaultAsyncJobAcquireWaitTimeInMillis()
getDefaultAsyncJobAcquireWaitTimeInMillis
in interface AsyncExecutor
public void setDefaultAsyncJobAcquireWaitTimeInMillis(int defaultAsyncJobAcquireWaitTimeInMillis)
setDefaultAsyncJobAcquireWaitTimeInMillis
in interface AsyncExecutor
public int getDefaultQueueSizeFullWaitTimeInMillis()
getDefaultQueueSizeFullWaitTimeInMillis
in interface AsyncExecutor
public void setDefaultQueueSizeFullWaitTimeInMillis(int defaultQueueSizeFullWaitTime)
setDefaultQueueSizeFullWaitTimeInMillis
in interface AsyncExecutor
public void setTimerJobRunnable(AcquireTimerJobsRunnable timerJobRunnable)
public void setAsyncJobsDueRunnable(AcquireAsyncJobsDueRunnable asyncJobsDueRunnable)
public int getRetryWaitTimeInMillis()
getRetryWaitTimeInMillis
in interface AsyncExecutor
public void setRetryWaitTimeInMillis(int retryWaitTimeInMillis)
setRetryWaitTimeInMillis
in interface AsyncExecutor
public ExecuteAsyncRunnableFactory getExecuteAsyncRunnableFactory()
public void setExecuteAsyncRunnableFactory(ExecuteAsyncRunnableFactory executeAsyncRunnableFactory)
Copyright © 2016 Alfresco. All rights reserved.