01: package org.enhydra.shark.webclient.business;
02:
03: import org.quartz.Scheduler;
04: import org.quartz.impl.StdSchedulerFactory;
05:
06: /**
07: * EnhydraQuartzListener
08: *
09: * @author Sasa Bojanic
10: * @author Aleksandar Stojsavljevic
11: */
12: public class QuartzInitializer {
13: private static StdSchedulerFactory factory;
14:
15: private static Scheduler scheduler = null;
16:
17: public static Scheduler getScheduler() {
18: return scheduler;
19: }
20:
21: public static StdSchedulerFactory getSchedulerFactory() {
22: return factory;
23: }
24:
25: public static void startQuartzScheduler(String quartzConfigFile) {
26: System.out.println("Initializing Quartz Scheduler...");
27: try {
28: if (quartzConfigFile != null) {
29: factory = new StdSchedulerFactory(quartzConfigFile);
30: } else {
31: factory = new StdSchedulerFactory();
32: System.out
33: .println("Starting Quartz Scheduler with default configuration file !!!");
34: }
35: scheduler = factory.getScheduler();
36: scheduler.start();
37: System.out.println("Scheduler has been started...");
38: } catch (Exception e) {
39: System.out
40: .println("Quartz Scheduler failed to initialize: "
41: + e.toString());
42: e.printStackTrace();
43: }
44: }
45:
46: public static void stopQuartzScheduler() {
47: try {
48: if (scheduler != null) {
49: scheduler.shutdown(true);
50: System.out
51: .println("Quartz Scheduler successfuly shutdown.");
52: }
53: } catch (Exception e) {
54: System.out
55: .println("Quartz Scheduler failed to shutdown cleanly: "
56: + e.toString());
57: e.printStackTrace();
58: }
59: }
60: }
|