Package org.alfresco.schedule
Class ScheduledJobLockExecuter
java.lang.Object
org.alfresco.schedule.ScheduledJobLockExecuter
This class encapsulates the
JobLockService usage in order to guarantee that a job is not executed simultaneously in more than one node in a cluster. After instantiated passing in constructor job to be executed, as well as the name of the to be locked job and the JobLockService, the execute method of this class will execute the job taking care of all cluster aware lockings.
This code is based on original code by Derek Hulley on ContentStoreCleaner, extracting the generic locking code in order to be reused and avoid code duplication.- Since:
- 4.1.5
- Author:
- Rui Fernandes
-
Constructor Summary
ConstructorsConstructorDescriptionScheduledJobLockExecuter(JobLockService jobLockService, String name, AbstractScheduledLockedJob job) -
Method Summary
-
Constructor Details
-
ScheduledJobLockExecuter
public ScheduledJobLockExecuter(JobLockService jobLockService, String name, AbstractScheduledLockedJob job) - Parameters:
jobLockService- theJobLockServicename- the name of the job to be used for the lock registryjob- thejobto be executed
-
-
Method Details
-
execute
public void execute(org.quartz.JobExecutionContext jobContext) throws org.quartz.JobExecutionException It will execute thejobpassed on instantiation taking care of all cluster aware lockings.- Parameters:
jobContext- the usual quartz job context- Throws:
org.quartz.JobExecutionException- thrown if the job fails to execute
-