1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.syncope.fit.core.reference;
20
21 import java.util.Date;
22 import org.apache.syncope.core.persistence.api.entity.task.SchedTask;
23 import org.apache.syncope.core.persistence.api.entity.task.TaskExec;
24 import org.apache.syncope.core.provisioning.java.job.AbstractSchedTaskJobDelegate;
25 import org.quartz.JobExecutionContext;
26 import org.quartz.JobExecutionException;
27
28
29
30
31 public class TestSampleJobDelegate extends AbstractSchedTaskJobDelegate<SchedTask> {
32
33 @Override
34 protected String doExecute(final boolean dryRun, final String executor, final JobExecutionContext context)
35 throws JobExecutionException {
36
37 for (int i = 0; i < 2; i++) {
38 LOG.debug("TestSampleJob#doExecute round {} time {}", i, new Date().toString());
39 try {
40 Thread.sleep(1000);
41 } catch (InterruptedException ex) {
42 throw new JobExecutionException("Job interrupted");
43 }
44 }
45
46 LOG.info("TestSampleJob {} running [SchedTask {}]", (dryRun
47 ? "dry "
48 : ""), task.getKey());
49
50 return (dryRun
51 ? "DRY "
52 : "") + "RUNNING";
53 }
54
55 @Override
56 public void interrupt() {
57 }
58
59 @Override
60 public boolean isInterrupted() {
61 return false;
62 }
63
64 @Override
65 protected boolean hasToBeRegistered(final TaskExec<?> execution) {
66 return true;
67 }
68 }