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 DestinationNames.SCHEDULER_RESPONSE);
54
55 return schedulerRequests;
56 }
57 catch (Exception e) {
58 throw new SchedulerException(e);
59 }
60 }
61
62 public void schedule(
63 String groupName, String cronText, Date startDate, Date endDate,
64 String description, String destinationName, String messageBody) {
65
66 SchedulerRequest schedulerRequest = new SchedulerRequest(
67 SchedulerRequest.COMMAND_REGISTER, null, groupName, cronText,
68 startDate, endDate, description, destinationName, messageBody);
69
70 MessageBusUtil.sendMessage(
71 DestinationNames.SCHEDULER, schedulerRequest);
72 }
73
74 public void shutdown() {
75 MessageBusUtil.sendMessage(
76 DestinationNames.SCHEDULER,
77 new SchedulerRequest(SchedulerRequest.COMMAND_SHUTDOWN));
78 }
79
80 public void start() {
81 MessageBusUtil.sendMessage(
82 DestinationNames.SCHEDULER,
83 new SchedulerRequest(SchedulerRequest.COMMAND_STARTUP));
84 }
85
86 public void unschedule(String jobName, String groupName) {
87 SchedulerRequest schedulerRequest = new SchedulerRequest(
88 SchedulerRequest.COMMAND_UNREGISTER, jobName, groupName);
89
90 MessageBusUtil.sendMessage(
91 DestinationNames.SCHEDULER, schedulerRequest);
92 }
93
94 }