Package org.alfresco.schedule
Class AbstractScheduledLockedJob
java.lang.Object
org.springframework.scheduling.quartz.QuartzJobBean
org.alfresco.schedule.AbstractScheduledLockedJob
- All Implemented Interfaces:
org.quartz.Job
public abstract class AbstractScheduledLockedJob
extends org.springframework.scheduling.quartz.QuartzJobBean
This class should be extended any time a scheduled job needs to be
implemented to be executed using
JobLockService. It makes the
cluster aware locking of the job transparent to the implementation. On the
job's spring JobExecutionContext it
will still always have to be passed as parameter the
jobLockService. The name to be
used for locking of the job is optional, if none is passed a name will be
composed using the simple name of the implementation class. In general if it
may make sense to have more than one job setup using the same class you
should always use a different name on each
JobExecutionContext to differentiate
the jobs, unless you want the lock to be shared between the different instances.
The only method to be implemented when extending this class is executeJob(JobExecutionContext).- Since:
- 4.1.5
- Author:
- Rui Fernandes
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected final voidexecuteInternal(org.quartz.JobExecutionContext jobContext) abstract voidexecuteJob(org.quartz.JobExecutionContext jobContext) This is the method that should be implemented by any extension of the abstract class.Methods inherited from class org.springframework.scheduling.quartz.QuartzJobBean
execute
-
Constructor Details
-
AbstractScheduledLockedJob
public AbstractScheduledLockedJob()
-
-
Method Details
-
executeInternal
protected final void executeInternal(org.quartz.JobExecutionContext jobContext) throws org.quartz.JobExecutionException - Specified by:
executeInternalin classorg.springframework.scheduling.quartz.QuartzJobBean- Throws:
org.quartz.JobExecutionException
-
executeJob
public abstract void executeJob(org.quartz.JobExecutionContext jobContext) throws org.quartz.JobExecutionException This is the method that should be implemented by any extension of the abstract class. It won't need to worry about any lockings of the job and can focus only on its specific task.- Parameters:
jobContext- context of the execution for retrieving services, etc- Throws:
org.quartz.JobExecutionException- if a job fails to execute
-