01: /*
02: * ChainBuilder ESB
03: * Visual Enterprise Integration
04: *
05: * Copyright (C) 2007 Bostech Corporation
06: *
07: * This program is free software; you can redistribute it and/or modify it
08: * under the terms of the GNU General Public License as published by the
09: * Free Software Foundation; either version 2 of the License, or (at your option)
10: * any later version.
11: *
12: * This program is distributed in the hope that it will be useful,
13: * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14: * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15: * for more details.
16: *
17: * You should have received a copy of the GNU General Public License along with
18: * this program; if not, write to the Free Software Foundation, Inc.,
19: * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20: *
21: *
22: * $Id: AutoRetryJob.java 6905 2007-04-19 03:05:32Z mpreston $
23: */
24: package com.bostechcorp.cbesb.runtime.scheduler;
25:
26: import org.apache.commons.logging.Log;
27: import org.apache.commons.logging.LogFactory;
28: import org.quartz.JobExecutionContext;
29: import org.quartz.JobExecutionException;
30: import org.quartz.StatefulJob;
31:
32: public class AutoRetryJob implements StatefulJob {
33:
34: private Log log = LogFactory.getLog(SchedulerCore.class);
35:
36: /* (non-Javadoc)
37: * @see org.quartz.Job#execute(org.quartz.JobExecutionContext)
38: */
39: public void execute(JobExecutionContext jobExecContext)
40: throws JobExecutionException {
41: IAutoRetryJobProcessor jobProcessor = (IAutoRetryJobProcessor) jobExecContext
42: .getMergedJobDataMap().get(
43: AutoRetryConstants.JOB_PROCESSOR);
44: if (jobProcessor != null) {
45: boolean result = jobProcessor.execute();
46: jobExecContext.getMergedJobDataMap().put(
47: AutoRetryConstants.SUCCESS, result);
48:
49: } else {
50: log
51: .error("AutoRetryJob - Could not retrieve JobProcessor.");
52: }
53: }
54:
55: }
|