1
22
23 package com.liferay.portal.scheduler;
24
25 import com.liferay.portal.kernel.messaging.DestinationNames;
26 import com.liferay.portal.kernel.messaging.MessageBusUtil;
27 import com.liferay.portal.kernel.scheduler.SchedulerEngine;
28 import com.liferay.portal.kernel.scheduler.SchedulerException;
29 import com.liferay.portal.kernel.scheduler.messaging.SchedulerRequest;
30
31 import java.util.Date;
32 import java.util.List;
33
34
40 public class SchedulerEngineProxy implements SchedulerEngine {
41
42 public List<SchedulerRequest> getScheduledJobs(String groupName)
43 throws SchedulerException {
44
45 try {
46 SchedulerRequest schedulerRequest = new SchedulerRequest(
47 SchedulerRequest.COMMAND_RETRIEVE, null, groupName, null, null,
48 null, null, null, null);
49
50 List<SchedulerRequest> schedulerRequests =
51 (List<SchedulerRequest>)MessageBusUtil.sendSynchronousMessage(
52 DestinationNames.SCHEDULER, schedulerRequest);
53
54 return schedulerRequests;
55 }
56 catch (Exception e) {
57 throw new SchedulerException(e);
58 }
59 }
60
61 public void schedule(
62 String groupName, String cronText, Date startDate, Date endDate,
63 String description, String destinationName, String messageBody) {
64
65 SchedulerRequest schedulerRequest = new SchedulerRequest(
66 SchedulerRequest.COMMAND_REGISTER, null, groupName, cronText,
67 startDate, endDate, description, destinationName, messageBody);
68
69 MessageBusUtil.sendMessage(
70 DestinationNames.SCHEDULER, schedulerRequest);
71 }
72
73 public void shutdown() {
74 MessageBusUtil.sendMessage(
75 DestinationNames.SCHEDULER,
76 new SchedulerRequest(SchedulerRequest.COMMAND_SHUTDOWN));
77 }
78
79 public void start() {
80 MessageBusUtil.sendMessage(
81 DestinationNames.SCHEDULER,
82 new SchedulerRequest(SchedulerRequest.COMMAND_STARTUP));
83 }
84
85 public void unschedule(String jobName, String groupName) {
86 SchedulerRequest schedulerRequest = new SchedulerRequest(
87 SchedulerRequest.COMMAND_UNREGISTER, jobName, groupName);
88
89 MessageBusUtil.sendMessage(
90 DestinationNames.SCHEDULER, schedulerRequest);
91 }
92
93 }