[Feature] Custom Quartz Job and Trigger
Hello,
It is currently not possible to customize the Quartz job and trigger created by the SchedulerService
, like adding @DisallowConcurrentExecution
to the job or changing the misfire behavior.
This PR adds an optional jobFactoryClass
attribute on the schedule
extension point of SchedulerService
allowing to customize the job and the trigger, falling back to the previous behavior if not specified.
For example :
<schedule id="testSchedulerSingleExecution"
jobFactoryClass="org.nuxeo.ecm.core.scheduler.SingleExecutionEventJobFactory">
<event>testSchedulerSingleExecution</event>
<cronExpression>* * * * * ?</cronExpression>
</schedule>
```java
public class SingleExecutionEventJobFactory extends DefaultEventJobFactory {
@Override
protected Class<? extends EventJob> getJobClass() {
return SingleExecutionEventJob.class;
}
}
@DisallowConcurrentExecution
public class SingleExecutionEventJob extends EventJob {
}
0 votes
0 answers
1549 views