1
22
23 package com.liferay.portal.scheduler.quartz;
24
25 import com.liferay.portal.kernel.messaging.Destination;
26 import com.liferay.portal.kernel.messaging.DestinationNames;
27 import com.liferay.portal.kernel.messaging.MessageBusUtil;
28 import com.liferay.portal.kernel.messaging.ParallelDestination;
29 import com.liferay.portal.kernel.scheduler.SchedulerEngine;
30 import com.liferay.portal.kernel.scheduler.SchedulerException;
31 import com.liferay.portal.kernel.scheduler.messaging.SchedulerRequest;
32
33 import java.util.Date;
34 import java.util.List;
35
36
43 public class QuartzSchedulerEngineUtil {
44
45 public static List<SchedulerRequest> getScheduledJobs(String groupName)
46 throws SchedulerException {
47
48 return _engine.getScheduledJobs(groupName);
49 }
50
51 public static void init() throws SchedulerException {
52 if (_engine != null) {
53 return;
54 }
55
56 _engine = new QuartzSchedulerEngineImpl();
57
58 _engine.start();
59
60 Destination destination = new ParallelDestination(
61 DestinationNames.SCHEDULER);
62
63 MessageBusUtil.addDestination(destination);
64
65 MessageBusUtil.registerMessageListener(
66 destination.getName(), new QuartzMessageListener());
67 }
68
69 public static void schedule(
70 String groupName, String cronText, Date startDate, Date endDate,
71 String description, String destination, String messageBody)
72 throws SchedulerException {
73
74 _engine.schedule(
75 groupName, cronText, startDate, endDate, description, destination,
76 messageBody);
77 }
78
79 public static void shutdown() throws SchedulerException {
80 _engine.shutdown();
81 }
82
83 public static void unschedule(String jobName, String groupName)
84 throws SchedulerException {
85
86 _engine.unschedule(jobName, groupName);
87 }
88
89 private static SchedulerEngine _engine;
90
91 }