Package org.openforis.concurrency
Class SimpleJobManager
- java.lang.Object
-
- org.openforis.concurrency.SimpleJobManager
-
- All Implemented Interfaces:
JobManager
public class SimpleJobManager extends Object implements JobManager
- Author:
- S. Ricci
-
-
Field Summary
Fields Modifier and Type Field Description protected static longMAX_JOB_IDLE_MILLIS
-
Constructor Summary
Constructors Constructor Description SimpleJobManager()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected <T extends Worker>
TcreateInstance(Class<T> type)<J extends Job>
JcreateJob(Class<J> type)<T extends Worker>
TcreateWorker(Class<T> type)voiddestroy()JobgetJob(String jobId)ExecutorgetJobExecutor()JobgetLockingJob(String lockId)protected <J extends Job>
voidlock(J job, String lockId)protected voidrelease(String lockId)protected <J extends Job>
voidrunJob(J job, String lockId)protected voidsetJobExecutor(Executor jobExecutor)<J extends Job>
voidstart(J job)Executes a job in the background<J extends Job>
voidstart(J job, boolean async)<J extends Job>
voidstart(J job, String lockId)<J extends Job>
voidstart(J job, String lockId, boolean async)<J extends Job>
voidstart(J job, JobConfig config)
-
-
-
Field Detail
-
MAX_JOB_IDLE_MILLIS
protected static final long MAX_JOB_IDLE_MILLIS
- See Also:
- Constant Field Values
-
-
Method Detail
-
destroy
public void destroy()
-
createJob
public <J extends Job> J createJob(Class<J> type)
- Specified by:
createJobin interfaceJobManager
-
createWorker
public <T extends Worker> T createWorker(Class<T> type)
- Specified by:
createWorkerin interfaceJobManager
-
createInstance
protected <T extends Worker> T createInstance(Class<T> type) throws InstantiationException, IllegalAccessException
-
start
public <J extends Job> void start(J job)
Executes a job in the background- Specified by:
startin interfaceJobManager- Throws:
Throwable
-
start
public <J extends Job> void start(J job, boolean async)
- Specified by:
startin interfaceJobManager
-
start
public <J extends Job> void start(J job, String lockId)
- Specified by:
startin interfaceJobManager
-
start
public <J extends Job> void start(J job, String lockId, boolean async)
- Specified by:
startin interfaceJobManager
-
start
public <J extends Job> void start(J job, JobConfig config)
- Specified by:
startin interfaceJobManager
-
release
protected void release(String lockId)
-
getJobExecutor
public Executor getJobExecutor()
-
setJobExecutor
protected void setJobExecutor(Executor jobExecutor)
-
-