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
39 public class SchedulerEngineProxy implements SchedulerEngine {
40
41 public List<SchedulerRequest> getScheduledJobs(String groupName)
42 throws SchedulerException {
43
44 try {
45 SchedulerRequest schedulerRequest =
46 SchedulerRequest.createRetrieveRequest(groupName);
47
48 List<SchedulerRequest> schedulerRequests =
49 (List<SchedulerRequest>)MessageBusUtil.sendSynchronousMessage(
50 DestinationNames.SCHEDULER, schedulerRequest,
51 DestinationNames.SCHEDULER_RESPONSE);
52
53 return schedulerRequests;
54 }
55 catch (Exception e) {
56 throw new SchedulerException(e);
57 }
58 }
59
60 public void schedule(
61 String groupName, long interval, Date startDate, Date endDate,
62 String description, String destinationName, String messageBody) {
63
64 SchedulerRequest schedulerRequest =
65 SchedulerRequest.createRegisterRequest(
66 groupName, interval, startDate, endDate, description,
67 destinationName, messageBody);
68
69 MessageBusUtil.sendMessage(
70 DestinationNames.SCHEDULER, schedulerRequest);
71 }
72
73 public void schedule(
74 String groupName, String cronText, Date startDate, Date endDate,
75 String description, String destinationName, String messageBody) {
76
77 SchedulerRequest schedulerRequest =
78 SchedulerRequest.createRegisterRequest(
79 groupName, cronText, startDate, endDate, description,
80 destinationName, messageBody);
81
82 MessageBusUtil.sendMessage(
83 DestinationNames.SCHEDULER, schedulerRequest);
84 }
85
86 public void shutdown() {
87 MessageBusUtil.sendMessage(
88 DestinationNames.SCHEDULER,
89 SchedulerRequest.createShutdownRequest());
90 }
91
92 public void start() {
93 MessageBusUtil.sendMessage(
94 DestinationNames.SCHEDULER,
95 SchedulerRequest.createStartupRequest());
96 }
97
98 public void unschedule(String jobName, String groupName) {
99 SchedulerRequest schedulerRequest =
100 SchedulerRequest.createUnregisterRequest(groupName);
101
102 MessageBusUtil.sendMessage(
103 DestinationNames.SCHEDULER, schedulerRequest);
104 }
105
106 }