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