From 94ae08701bbd7585a0b7e5a92d1975965a503c03 Mon Sep 17 00:00:00 2001 From: Dennis Kao <ulysseskao@gmail.com> Date: Wed, 15 Jan 2014 11:28:52 +0800 Subject: [PATCH] Merge branch 'origin/2.1.x' --- xdgnjobs/ximple-jobcarrier/src/main/java/com/ximple/eofms/XQuartzJobCarrier.java | 110 ++++++++++++++++++++++++------------------------------- 1 files changed, 48 insertions(+), 62 deletions(-) diff --git a/xdgnjobs/ximple-jobcarrier/src/main/java/com/ximple/eofms/XQuartzJobCarrier.java b/xdgnjobs/ximple-jobcarrier/src/main/java/com/ximple/eofms/XQuartzJobCarrier.java index 2bb7fee..a625b7c 100644 --- a/xdgnjobs/ximple-jobcarrier/src/main/java/com/ximple/eofms/XQuartzJobCarrier.java +++ b/xdgnjobs/ximple-jobcarrier/src/main/java/com/ximple/eofms/XQuartzJobCarrier.java @@ -1,8 +1,8 @@ package com.ximple.eofms; -import java.util.Date; import javax.swing.JFrame; import javax.swing.SwingUtilities; +import java.util.Date; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.CommandLineParser; @@ -15,11 +15,15 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.awl.Wizard; +import org.quartz.DateBuilder; +import org.quartz.JobBuilder; import org.quartz.JobDetail; import org.quartz.Scheduler; import org.quartz.SchedulerException; import org.quartz.Trigger; +import org.quartz.TriggerBuilder; import org.quartz.TriggerUtils; +import org.quartz.impl.JobDetailImpl; import org.quartz.impl.StdSchedulerFactory; import com.ximple.eofms.jobs.OracleConvertDgn2ShpJob; @@ -27,22 +31,19 @@ /** * Hello world! */ -public class XQuartzJobCarrier -{ +public class XQuartzJobCarrier { static Log logger = LogFactory.getLog(XQuartzJobCarrier.class); static Options options = new Options(); - private static final String VERSION = "0.9.0"; + private static final String VERSION = "1.3.1"; - public static void main(String[] args) - { + public static void main(String[] args) { XQuartzJobCarrier instance = new XQuartzJobCarrier(); instance.initializeOption(); instance.execute(args); } - private void initializeOption() - { + private void initializeOption() { Option option; option = OptionBuilder.create("help"); option.setDescription("print this message"); @@ -71,32 +72,25 @@ } - private void execute(String[] args) - { + private void execute(String[] args) { // CommandLineParser parser = new GnuParser(); CommandLineParser parser = new PosixParser(); CommandLine commandLine = null; - try - { + try { // parse the command commandLine arguments commandLine = parser.parse(options, args); } - catch (ParseException exp) - { + catch (ParseException exp) { // oops, something went wrong System.err.println("Parsing failed. Reason: " + exp.getMessage()); } - if ((commandLine != null) && (commandLine.getOptions().length > 0)) - { - if (commandLine.hasOption("help")) - { + if ((commandLine != null) && (commandLine.getOptions().length > 0)) { + if (commandLine.hasOption("help")) { printHelpMessage(); - } else if (commandLine.hasOption("version")) - { + } else if (commandLine.hasOption("version")) { printVersionMessage(); - } else if (commandLine.hasOption("wizard")) - { + } else if (commandLine.hasOption("wizard")) { startWizardMode(); } return; @@ -104,46 +98,37 @@ startScheduler(); } - private void printHelpMessage() - { + private void printHelpMessage() { HelpFormatter formatter = new HelpFormatter(); formatter.printHelp("XQuartzJobCarrier", options); } - private void printVersionMessage() - { + private void printVersionMessage() { System.out.println("XQuartzJobCarrier - " + VERSION); } - public void startWizardMode() - { - Runnable runnable = new Runnable() - { - public void run() - { + public void startWizardMode() { + Runnable runnable = new Runnable() { + public void run() { Wizard wizard = new XQuartzJobWizard((JFrame) null); wizard.pack(); wizard.setVisibleOnCenterOfScreen(); } }; - try - { + try { SwingUtilities.invokeLater(runnable); } - catch (Exception ex) - { + catch (Exception ex) { ex.printStackTrace(); } } - public void startScheduler() - { + public void startScheduler() { Scheduler scheduler = null; boolean shutdown = false; - try - { + try { // Get a Scheduler instance from the Factory scheduler = StdSchedulerFactory.getDefaultScheduler(); @@ -151,23 +136,18 @@ scheduler.start(); logger.info("Scheduler started at " + new Date()); - } catch (SchedulerException ex) - { + } catch (SchedulerException ex) { // deal with any exceptions - logger.error(ex); + logger.error(ex, ex); shutdown = true; - } catch (Throwable throwable) - { + } catch (Throwable throwable) { logger.error(throwable.getMessage(), throwable); shutdown = true; } - if (shutdown) - { - try - { + if (shutdown) { + try { scheduler.shutdown(); - } catch (SchedulerException e) - { + } catch (SchedulerException e) { logger.error(e.getMessage(), e); } } @@ -176,27 +156,33 @@ /* * return an instance of the Scheduler from the factory */ - public Scheduler createScheduler() throws SchedulerException - { + public Scheduler createScheduler() throws SchedulerException { return StdSchedulerFactory.getDefaultScheduler(); } // Create and Schedule a ScanDirectoryJob with the Scheduler - private void scheduleJob(Scheduler scheduler) throws SchedulerException - { + private void scheduleJob(Scheduler scheduler) throws SchedulerException { // Create a JobDetail for the Job - JobDetail jobDetail = new JobDetail("ScanDirectory", Scheduler.DEFAULT_GROUP, - OracleConvertDgn2ShpJob.class); - + /* + JobDetailImpl jobDetail = new JobDetailImpl("ScanDirectory", Scheduler.DEFAULT_GROUP, + OracleConvertDgn2ShpJob.class); + */ + JobDetail jobDetail = JobBuilder.newJob(OracleConvertDgn2ShpJob.class) + .withIdentity("ScanDirectory", Scheduler.DEFAULT_GROUP) + .usingJobData("SCAN_DIR", "c:\\quartz-book\\input") + .build(); // Configure the directory to scan - jobDetail.getJobDataMap().put("SCAN_DIR", "c:\\quartz-book\\input"); + // jobDetail.getJobDataMap().put("SCAN_DIR", "c:\\quartz-book\\input"); // Create a trigger that fires every 10 seconds, forever - Trigger trigger = TriggerUtils.makeSecondlyTrigger(10); - trigger.setName("scanTrigger"); + // Trigger trigger = TriggerUtils.makeSecondlyTrigger(10); + // trigger.setName("scanTrigger"); + Trigger trigger = TriggerBuilder.newTrigger().withIdentity("scanTrigger") + .startAt(DateBuilder.futureDate(10, DateBuilder.IntervalUnit.SECOND)) + .build(); // Start the trigger firing from now - trigger.setStartTime(new Date()); + // trigger.setStartTime(new Date()); // Associate the trigger with the job in the scheduler scheduler.scheduleJob(jobDetail, trigger); -- Gitblit v0.0.0-SNAPSHOT