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