1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.miloss.fgsms.auxsrv;
22
23 import java.util.Date;
24 import javax.servlet.ServletContextEvent;
25 import javax.servlet.ServletContextListener;
26 import org.apache.log4j.Level;
27 import org.miloss.fgsms.common.Logger;;
28 import org.quartz.*;
29 import org.quartz.impl.StdSchedulerFactory;
30
31
32
33
34
35
36
37 public class DependencyScannerStarter implements ServletContextListener {
38
39 public static final String JOB_NAME = "DependencyScanner";
40 public static final String TRIGGER_NAME = "DependencyScannerTrigger";
41 private static Scheduler sc;
42 static Logger log = Logger.getLogger("fgsms.Aux");
43
44 public void contextInitialized(ServletContextEvent sce) {
45 }
46
47 protected static void StartupCheck() {
48 JobDetail job = null;
49 Trigger triger = null;
50
51 try {
52 sc = new StdSchedulerFactory().getScheduler(AuxConstants.QUARTZ_SCHEDULER_NAME);
53 if (!AuxConstants.QuartzJobExists(JOB_NAME, sc)) {
54 job = new JobDetail(JOB_NAME, AuxConstants.QUARTZ_GROUP_NAME, org.miloss.fgsms.auxsrv.DependencyScannerScheduler.class);
55 triger = TriggerUtils.makeMinutelyTrigger(1);
56 triger.setStartTime(new Date());
57 triger.setName(TRIGGER_NAME);
58 triger.setGroup(AuxConstants.QUARTZ_TRIGGER_GROUP_NAME);
59 job.setRequestsRecovery(true);
60 sc.scheduleJob(job, triger);
61 log.log(Level.INFO, "DependencyScanner added");
62
63 if (sc.isShutdown()) {
64 log.log(Level.WARN, "starting quartz");
65 }
66 sc.start();
67 }
68 } catch (Exception ex) {
69 log.log(Level.WARN, "error scheduling ", ex);
70 }
71
72 }
73
74 public void contextDestroyed(ServletContextEvent sce) {
75
76
77
78
79
80
81
82
83
84
85
86 }
87 }