KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > cocoon > components > cron > QuartzDriverDelegate


1 /*
2  * Copyright 1999-2004 The Apache Software Foundation.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */

16 package org.apache.cocoon.components.cron;
17
18 import org.apache.avalon.framework.context.Context;
19 import org.apache.avalon.framework.logger.Logger;
20 import org.apache.avalon.framework.service.ServiceManager;
21
22 import org.quartz.Calendar;
23 import org.quartz.CronTrigger;
24 import org.quartz.JobDataMap;
25 import org.quartz.JobDetail;
26 import org.quartz.SimpleTrigger;
27 import org.quartz.Trigger;
28 import org.quartz.impl.jdbcjobstore.DriverDelegate;
29 import org.quartz.spi.ClassLoadHelper;
30 import org.quartz.utils.Key;
31 import org.quartz.utils.TriggerStatus;
32
33 import java.io.IOException JavaDoc;
34 import java.sql.Connection JavaDoc;
35 import java.sql.SQLException JavaDoc;
36 import java.util.List JavaDoc;
37 import java.util.Set JavaDoc;
38
39 /**
40  * Wrapper around another DriverDelegate instance.
41  *
42  * <p>This wrapper makes sure that three Cocoon specific transient objects are
43  * removed from the JobDataMap before serializing it into the database, and
44  * populated back into the map when JobDetailMap is loaded from the database.
45  * These objects are:</p>
46  * <ul>
47  * <li>Logger</li>
48  * <li>ServiceManager</li>
49  * <li>Context</li>
50  * <li>
51  *
52  * @version CVS $Id: QuartzDriverDelegate.java 293207 2005-10-03 02:13:42Z antonio $
53  * @since 2.1.6
54  */

55 public class QuartzDriverDelegate implements DriverDelegate {
56     private Logger logger;
57     private ServiceManager manager;
58     private Context context;
59     private DriverDelegate delegate;
60
61     public QuartzDriverDelegate(Logger logger, ServiceManager manager, Context context, DriverDelegate delegate) {
62         this.logger = logger;
63         this.manager = manager;
64         this.context = context;
65         this.delegate = delegate;
66     }
67
68     public int insertJobDetail(Connection JavaDoc conn, JobDetail job)
69     throws IOException JavaDoc, SQLException JavaDoc {
70         removeTransientData(job);
71         return delegate.insertJobDetail(conn, job);
72     }
73
74     public int updateJobDetail(Connection JavaDoc conn, JobDetail job)
75     throws IOException JavaDoc, SQLException JavaDoc {
76         removeTransientData(job);
77         return delegate.updateJobDetail(conn, job);
78     }
79
80     public int updateJobData(Connection JavaDoc conn, JobDetail job)
81     throws IOException JavaDoc, SQLException JavaDoc {
82         removeTransientData(job);
83         return delegate.updateJobData(conn, job);
84     }
85
86     private void removeTransientData(JobDetail job) {
87         JobDataMap map = job.getJobDataMap();
88         if (map != null) {
89             this.logger.debug("QuartzDriverDelegate: Removing transient data");
90             map.remove(QuartzJobScheduler.DATA_MAP_LOGGER);
91             map.remove(QuartzJobScheduler.DATA_MAP_CONTEXT);
92             map.remove(QuartzJobScheduler.DATA_MAP_MANAGER);
93         }
94     }
95
96
97     public JobDetail selectJobDetail(Connection JavaDoc conn, String JavaDoc jobName,
98                                      String JavaDoc groupName, ClassLoadHelper loadHelper)
99     throws ClassNotFoundException JavaDoc, IOException JavaDoc, SQLException JavaDoc {
100         JobDetail job = delegate.selectJobDetail(conn, jobName, groupName, loadHelper);
101         if (job != null) {
102             JobDataMap map = job.getJobDataMap();
103             if (map != null) {
104                 this.logger.debug("QuartzDriverDelegate: Adding transient data");
105                 map.put(QuartzJobScheduler.DATA_MAP_LOGGER, this.logger);
106                 map.put(QuartzJobScheduler.DATA_MAP_CONTEXT, this.context);
107                 map.put(QuartzJobScheduler.DATA_MAP_MANAGER, this.manager);
108             }
109         }
110         return job;
111     }
112
113
114     //
115
// Delegate all other methods
116
//
117

118     public int updateTriggerStatesFromOtherStates(Connection JavaDoc conn,
119             String JavaDoc newState, String JavaDoc oldState1, String JavaDoc oldState2)
120             throws SQLException JavaDoc {
121         return delegate.updateTriggerStatesFromOtherStates(conn, newState, oldState1, oldState2);
122     }
123
124     public Key[] selectMisfiredTriggers(Connection JavaDoc conn, long ts)
125             throws SQLException JavaDoc {
126         return delegate.selectMisfiredTriggers(conn, ts);
127     }
128
129     public Key[] selectMisfiredTriggersInState(Connection JavaDoc conn, String JavaDoc state,
130             long ts) throws SQLException JavaDoc {
131         return delegate.selectMisfiredTriggersInState(conn, state, ts);
132     }
133
134     public Key[] selectMisfiredTriggersInGroupInState(Connection JavaDoc conn,
135             String JavaDoc groupName, String JavaDoc state, long ts) throws SQLException JavaDoc {
136         return delegate.selectMisfiredTriggersInGroupInState(conn, groupName, state, ts);
137     }
138
139     public Trigger[] selectTriggersForRecoveringJobs(Connection JavaDoc conn)
140             throws SQLException JavaDoc, IOException JavaDoc, ClassNotFoundException JavaDoc {
141         return delegate.selectTriggersForRecoveringJobs(conn);
142     }
143
144     public int deleteFiredTriggers(Connection JavaDoc conn) throws SQLException JavaDoc {
145         return delegate.deleteFiredTriggers(conn);
146     }
147
148     public int deleteFiredTriggers(Connection JavaDoc conn, String JavaDoc instanceId)
149             throws SQLException JavaDoc {
150         return delegate.deleteFiredTriggers(conn, instanceId);
151     }
152
153     public int deleteVolatileFiredTriggers(Connection JavaDoc conn) throws SQLException JavaDoc {
154         return delegate.deleteVolatileFiredTriggers(conn);
155     }
156
157     public Key[] selectVolatileTriggers(Connection JavaDoc conn) throws SQLException JavaDoc {
158         return delegate.selectVolatileTriggers(conn);
159     }
160
161     public Key[] selectVolatileJobs(Connection JavaDoc conn) throws SQLException JavaDoc {
162         return delegate.selectVolatileJobs(conn);
163     }
164
165     public Key[] selectTriggerNamesForJob(Connection JavaDoc conn, String JavaDoc jobName,
166             String JavaDoc groupName) throws SQLException JavaDoc {
167         return delegate.selectTriggerNamesForJob(conn, jobName, groupName);
168     }
169
170     public int deleteJobListeners(Connection JavaDoc conn, String JavaDoc jobName,
171             String JavaDoc groupName) throws SQLException JavaDoc {
172         return delegate.deleteJobListeners(conn, jobName, groupName);
173     }
174
175     public int deleteJobDetail(Connection JavaDoc conn, String JavaDoc jobName, String JavaDoc groupName)
176             throws SQLException JavaDoc {
177         return delegate.deleteJobDetail(conn, jobName, groupName);
178     }
179
180     public boolean isJobStateful(Connection JavaDoc conn, String JavaDoc jobName,
181             String JavaDoc groupName) throws SQLException JavaDoc {
182         return delegate.isJobStateful(conn, jobName, groupName);
183     }
184
185     public boolean jobExists(Connection JavaDoc conn, String JavaDoc jobName, String JavaDoc groupName)
186             throws SQLException JavaDoc {
187         return delegate.jobExists(conn, jobName, groupName);
188     }
189
190     public int insertJobListener(Connection JavaDoc conn, JobDetail job, String JavaDoc listener)
191             throws SQLException JavaDoc {
192         return delegate.insertJobListener(conn, job, listener);
193     }
194
195     public String JavaDoc[] selectJobListeners(Connection JavaDoc conn, String JavaDoc jobName,
196             String JavaDoc groupName) throws SQLException JavaDoc {
197         return delegate.selectJobListeners(conn, jobName, groupName);
198     }
199
200     public int selectNumJobs(Connection JavaDoc conn) throws SQLException JavaDoc {
201         return delegate.selectNumJobs(conn);
202     }
203
204     public String JavaDoc[] selectJobGroups(Connection JavaDoc conn) throws SQLException JavaDoc {
205         return delegate.selectJobGroups(conn);
206     }
207
208     public String JavaDoc[] selectJobsInGroup(Connection JavaDoc conn, String JavaDoc groupName)
209             throws SQLException JavaDoc {
210         return delegate.selectJobsInGroup(conn, groupName);
211     }
212
213     public int insertTrigger(Connection JavaDoc conn, Trigger trigger, String JavaDoc state,
214             JobDetail jobDetail) throws SQLException JavaDoc, IOException JavaDoc {
215         return delegate.insertTrigger(conn, trigger, state, jobDetail);
216     }
217
218     public int insertSimpleTrigger(Connection JavaDoc conn, SimpleTrigger trigger)
219             throws SQLException JavaDoc {
220         return delegate.insertSimpleTrigger(conn, trigger);
221     }
222
223     public int insertBlobTrigger(Connection JavaDoc conn, Trigger trigger)
224             throws SQLException JavaDoc, IOException JavaDoc {
225         return delegate.insertBlobTrigger(conn, trigger);
226     }
227
228     public int insertCronTrigger(Connection JavaDoc conn, CronTrigger trigger)
229             throws SQLException JavaDoc {
230         return delegate.insertCronTrigger(conn, trigger);
231     }
232
233     public int updateTrigger(Connection JavaDoc conn, Trigger trigger, String JavaDoc state,
234             JobDetail jobDetail) throws SQLException JavaDoc, IOException JavaDoc {
235         return delegate.updateTrigger(conn, trigger, state, jobDetail);
236     }
237
238     public int updateSimpleTrigger(Connection JavaDoc conn, SimpleTrigger trigger)
239             throws SQLException JavaDoc {
240         return delegate.updateSimpleTrigger(conn, trigger);
241     }
242
243     public int updateCronTrigger(Connection JavaDoc conn, CronTrigger trigger)
244             throws SQLException JavaDoc {
245         return delegate.updateCronTrigger(conn, trigger);
246     }
247
248     public int updateBlobTrigger(Connection JavaDoc conn, Trigger trigger)
249             throws SQLException JavaDoc, IOException JavaDoc {
250         return delegate.updateBlobTrigger(conn, trigger);
251     }
252
253     public boolean triggerExists(Connection JavaDoc conn, String JavaDoc triggerName,
254             String JavaDoc groupName) throws SQLException JavaDoc {
255         return delegate.triggerExists(conn, triggerName, groupName);
256     }
257
258     public int updateTriggerState(Connection JavaDoc conn, String JavaDoc triggerName,
259             String JavaDoc groupName, String JavaDoc state) throws SQLException JavaDoc {
260         return delegate.updateTriggerState(conn, triggerName, groupName, state);
261     }
262
263     public int updateTriggerStateFromOtherState(Connection JavaDoc conn,
264             String JavaDoc triggerName, String JavaDoc groupName, String JavaDoc newState,
265             String JavaDoc oldState) throws SQLException JavaDoc {
266         return delegate.updateTriggerStateFromOtherState(conn, triggerName, groupName, newState, oldState);
267     }
268
269     public int updateTriggerStateFromOtherStates(Connection JavaDoc conn,
270             String JavaDoc triggerName, String JavaDoc groupName, String JavaDoc newState,
271             String JavaDoc oldState1, String JavaDoc oldState2, String JavaDoc oldState3)
272             throws SQLException JavaDoc {
273         return delegate.updateTriggerStateFromOtherStates(conn, triggerName, groupName, newState, oldState1, oldState2, oldState3);
274     }
275
276     public int updateTriggerStateFromOtherStatesBeforeTime(Connection JavaDoc conn,
277             String JavaDoc newState, String JavaDoc oldState1, String JavaDoc oldState2, long time)
278             throws SQLException JavaDoc {
279         return delegate.updateTriggerStateFromOtherStatesBeforeTime(conn, newState, oldState1, oldState2, time);
280     }
281
282     public int updateTriggerGroupStateFromOtherStates(Connection JavaDoc conn,
283             String JavaDoc groupName, String JavaDoc newState, String JavaDoc oldState1,
284             String JavaDoc oldState2, String JavaDoc oldState3) throws SQLException JavaDoc {
285         return delegate.updateTriggerGroupStateFromOtherStates(conn, groupName, newState, oldState1, oldState2, oldState3);
286     }
287
288     public int updateTriggerGroupStateFromOtherState(Connection JavaDoc conn,
289             String JavaDoc groupName, String JavaDoc newState, String JavaDoc oldState)
290             throws SQLException JavaDoc {
291         return delegate.updateTriggerGroupStateFromOtherState(conn, groupName, newState, oldState);
292     }
293
294     public int updateTriggerStatesForJob(Connection JavaDoc conn, String JavaDoc jobName,
295             String JavaDoc groupName, String JavaDoc state) throws SQLException JavaDoc {
296         return delegate.updateTriggerStatesForJob(conn, jobName, groupName, state);
297     }
298
299     public int updateTriggerStatesForJobFromOtherState(Connection JavaDoc conn,
300             String JavaDoc jobName, String JavaDoc groupName, String JavaDoc state, String JavaDoc oldState)
301             throws SQLException JavaDoc {
302         return delegate.updateTriggerStatesForJobFromOtherState(conn, jobName, groupName, state, oldState);
303     }
304
305     public int deleteTriggerListeners(Connection JavaDoc conn, String JavaDoc triggerName,
306             String JavaDoc groupName) throws SQLException JavaDoc {
307         return delegate.deleteTriggerListeners(conn, triggerName, groupName);
308     }
309
310     public int insertTriggerListener(Connection JavaDoc conn, Trigger trigger,
311             String JavaDoc listener) throws SQLException JavaDoc {
312         return delegate.insertTriggerListener(conn, trigger, listener);
313     }
314
315     public String JavaDoc[] selectTriggerListeners(Connection JavaDoc conn, String JavaDoc triggerName,
316             String JavaDoc groupName) throws SQLException JavaDoc {
317         return delegate.selectTriggerListeners(conn, triggerName, groupName);
318     }
319
320     public int deleteSimpleTrigger(Connection JavaDoc conn, String JavaDoc triggerName,
321             String JavaDoc groupName) throws SQLException JavaDoc {
322         return delegate.deleteSimpleTrigger(conn, triggerName, groupName);
323     }
324
325     public int deleteBlobTrigger(Connection JavaDoc conn, String JavaDoc triggerName,
326             String JavaDoc groupName) throws SQLException JavaDoc {
327         return delegate.deleteBlobTrigger(conn, triggerName, groupName);
328     }
329
330     public int deleteCronTrigger(Connection JavaDoc conn, String JavaDoc triggerName,
331             String JavaDoc groupName) throws SQLException JavaDoc {
332         return delegate.deleteCronTrigger(conn, triggerName, groupName);
333     }
334
335     public int deleteTrigger(Connection JavaDoc conn, String JavaDoc triggerName,
336             String JavaDoc groupName) throws SQLException JavaDoc {
337         return delegate.deleteTrigger(conn, triggerName, groupName);
338     }
339
340     public int selectNumTriggersForJob(Connection JavaDoc conn, String JavaDoc jobName,
341             String JavaDoc groupName) throws SQLException JavaDoc {
342         return delegate.selectNumTriggersForJob(conn, jobName, groupName);
343     }
344
345     public JobDetail selectJobForTrigger(Connection JavaDoc conn, String JavaDoc triggerName,
346             String JavaDoc groupName, ClassLoadHelper loadHelper) throws SQLException JavaDoc, ClassNotFoundException JavaDoc {
347         return delegate.selectJobForTrigger(conn, triggerName, groupName, loadHelper);
348     }
349
350     public List JavaDoc selectStatefulJobsOfTriggerGroup(Connection JavaDoc conn,
351             String JavaDoc groupName) throws SQLException JavaDoc {
352         return delegate.selectStatefulJobsOfTriggerGroup(conn, groupName);
353     }
354
355     public Trigger[] selectTriggersForJob(Connection JavaDoc conn, String JavaDoc jobName,
356             String JavaDoc groupName) throws SQLException JavaDoc, ClassNotFoundException JavaDoc,
357             IOException JavaDoc {
358         return delegate.selectTriggersForJob(conn, jobName, groupName);
359     }
360
361     public Trigger[] selectTriggersForCalendar(Connection JavaDoc conn, String JavaDoc calName)
362             throws SQLException JavaDoc, ClassNotFoundException JavaDoc, IOException JavaDoc {
363         return delegate.selectTriggersForCalendar(conn, calName);
364     }
365
366     public Trigger selectTrigger(Connection JavaDoc conn, String JavaDoc triggerName,
367             String JavaDoc groupName) throws SQLException JavaDoc, ClassNotFoundException JavaDoc,
368             IOException JavaDoc {
369         return delegate.selectTrigger(conn, triggerName, groupName);
370     }
371
372     public String JavaDoc selectTriggerState(Connection JavaDoc conn, String JavaDoc triggerName,
373             String JavaDoc groupName) throws SQLException JavaDoc {
374         return delegate.selectTriggerState(conn, triggerName, groupName);
375     }
376
377     public TriggerStatus selectTriggerStatus(Connection JavaDoc conn,
378             String JavaDoc triggerName, String JavaDoc groupName) throws SQLException JavaDoc {
379         return delegate.selectTriggerStatus(conn, triggerName, groupName);
380     }
381
382     public int selectNumTriggers(Connection JavaDoc conn) throws SQLException JavaDoc {
383         return delegate.selectNumTriggers(conn);
384     }
385
386     public String JavaDoc[] selectTriggerGroups(Connection JavaDoc conn) throws SQLException JavaDoc {
387         return delegate.selectTriggerGroups(conn);
388     }
389
390     public String JavaDoc[] selectTriggersInGroup(Connection JavaDoc conn, String JavaDoc groupName)
391             throws SQLException JavaDoc {
392         return delegate.selectTriggersInGroup(conn, groupName);
393     }
394
395     public Key[] selectTriggersInState(Connection JavaDoc conn, String JavaDoc state)
396             throws SQLException JavaDoc {
397         return delegate.selectTriggersInState(conn, state);
398     }
399
400     public int insertPausedTriggerGroup(Connection JavaDoc conn, String JavaDoc groupName)
401             throws SQLException JavaDoc {
402         return delegate.insertPausedTriggerGroup(conn, groupName);
403     }
404
405     public int deletePausedTriggerGroup(Connection JavaDoc conn, String JavaDoc groupName)
406             throws SQLException JavaDoc {
407         return delegate.deletePausedTriggerGroup(conn, groupName);
408     }
409
410     public int deleteAllPausedTriggerGroups(Connection JavaDoc conn)
411             throws SQLException JavaDoc {
412         return delegate.deleteAllPausedTriggerGroups(conn);
413     }
414
415     public boolean isTriggerGroupPaused(Connection JavaDoc conn, String JavaDoc groupName)
416             throws SQLException JavaDoc {
417         return delegate.isTriggerGroupPaused(conn, groupName);
418     }
419
420     public Set JavaDoc selectPausedTriggerGroups(Connection JavaDoc conn)
421         throws SQLException JavaDoc {
422         return delegate.selectPausedTriggerGroups(conn);
423     }
424
425     public boolean isExistingTriggerGroup(Connection JavaDoc conn, String JavaDoc groupName)
426             throws SQLException JavaDoc {
427         return delegate.isExistingTriggerGroup(conn, groupName);
428     }
429
430     public int insertCalendar(Connection JavaDoc conn, String JavaDoc calendarName,
431             Calendar calendar) throws IOException JavaDoc, SQLException JavaDoc {
432         return delegate.insertCalendar(conn, calendarName, calendar);
433     }
434
435     public int updateCalendar(Connection JavaDoc conn, String JavaDoc calendarName,
436             Calendar calendar) throws IOException JavaDoc, SQLException JavaDoc {
437         return delegate.updateCalendar(conn, calendarName, calendar);
438     }
439
440     public boolean calendarExists(Connection JavaDoc conn, String JavaDoc calendarName)
441             throws SQLException JavaDoc {
442         return delegate.calendarExists(conn, calendarName);
443     }
444
445     public Calendar selectCalendar(Connection JavaDoc conn, String JavaDoc calendarName)
446             throws ClassNotFoundException JavaDoc, IOException JavaDoc, SQLException JavaDoc {
447         return delegate.selectCalendar(conn, calendarName);
448     }
449
450     public boolean calendarIsReferenced(Connection JavaDoc conn, String JavaDoc calendarName)
451             throws SQLException JavaDoc {
452         return delegate.calendarIsReferenced(conn, calendarName);
453     }
454
455     public int deleteCalendar(Connection JavaDoc conn, String JavaDoc calendarName)
456             throws SQLException JavaDoc {
457         return delegate.deleteCalendar(conn, calendarName);
458     }
459
460     public int selectNumCalendars(Connection JavaDoc conn) throws SQLException JavaDoc {
461         return delegate.selectNumCalendars(conn);
462     }
463
464     public String JavaDoc[] selectCalendars(Connection JavaDoc conn) throws SQLException JavaDoc {
465         return delegate.selectCalendars(conn);
466     }
467
468     public long selectNextFireTime(Connection JavaDoc conn) throws SQLException JavaDoc {
469         return delegate.selectNextFireTime(conn);
470     }
471
472     public Key selectTriggerForFireTime(Connection JavaDoc conn, long fireTime)
473             throws SQLException JavaDoc {
474         return delegate.selectTriggerForFireTime(conn, fireTime);
475     }
476
477     public int insertFiredTrigger(Connection JavaDoc conn, Trigger trigger,
478             String JavaDoc state, JobDetail jobDetail) throws SQLException JavaDoc {
479         return delegate.insertFiredTrigger(conn, trigger, state, jobDetail);
480     }
481
482     public List JavaDoc selectFiredTriggerRecords(Connection JavaDoc conn, String JavaDoc triggerName,
483             String JavaDoc groupName) throws SQLException JavaDoc {
484         return delegate.selectFiredTriggerRecords(conn, triggerName, groupName);
485     }
486
487     public List JavaDoc selectFiredTriggerRecordsByJob(Connection JavaDoc conn, String JavaDoc jobName,
488             String JavaDoc groupName) throws SQLException JavaDoc {
489         return delegate.selectFiredTriggerRecordsByJob(conn, jobName, groupName);
490     }
491
492     public List JavaDoc selectInstancesFiredTriggerRecords(Connection JavaDoc conn,
493             String JavaDoc instanceName) throws SQLException JavaDoc {
494         return delegate.selectInstancesFiredTriggerRecords(conn, instanceName);
495     }
496
497     public int deleteFiredTrigger(Connection JavaDoc conn, String JavaDoc entryId)
498             throws SQLException JavaDoc {
499         return delegate.deleteFiredTrigger(conn, entryId);
500     }
501
502     public int selectJobExecutionCount(Connection JavaDoc conn, String JavaDoc jobName,
503             String JavaDoc jobGroup) throws SQLException JavaDoc {
504         return delegate.selectJobExecutionCount(conn, jobName, jobGroup);
505     }
506
507     public int insertSchedulerState(Connection JavaDoc conn, String JavaDoc instanceId,
508             long checkInTime, long interval, String JavaDoc recoverer)
509             throws SQLException JavaDoc {
510         return delegate.insertSchedulerState(conn, instanceId, checkInTime, interval, recoverer);
511     }
512
513     public int deleteSchedulerState(Connection JavaDoc conn, String JavaDoc instanceId)
514             throws SQLException JavaDoc {
515         return delegate.deleteSchedulerState(conn, instanceId);
516     }
517
518     public List JavaDoc selectSchedulerStateRecords(Connection JavaDoc conn, String JavaDoc instanceId)
519             throws SQLException JavaDoc {
520         return delegate.selectSchedulerStateRecords(conn, instanceId);
521     }
522
523     public JobDataMap selectTriggerJobDataMap(Connection JavaDoc conn, String JavaDoc triggerName, String JavaDoc groupName) throws SQLException JavaDoc, ClassNotFoundException JavaDoc, IOException JavaDoc {
524         return delegate.selectTriggerJobDataMap(conn, triggerName, groupName);
525     }
526 }
527
Popular Tags