package org.geotoolkit.pending.demo.processing; import java.util.UUID; import org.geotoolkit.pending.demo.Demos; import org.geotoolkit.process.ProcessDescriptor; import org.geotoolkit.process.ProcessFinder; import org.geotoolkit.processing.quartz.ProcessJobDetail; import org.opengis.parameter.ParameterValueGroup; import org.opengis.util.NoSuchIdentifierException; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import org.quartz.JobKey; import org.quartz.JobListener; import org.quartz.Matcher; import org.quartz.Scheduler; import org.quartz.SchedulerException; import org.quartz.SchedulerFactory; import org.quartz.SimpleTrigger; import org.quartz.impl.StdSchedulerFactory; import org.quartz.impl.triggers.SimpleTriggerImpl; public class QuartzDemo { public static void main(String[] args) throws SchedulerException, NoSuchIdentifierException { Demos.init(); //create a quartz scheduler final SchedulerFactory factory = new StdSchedulerFactory(); final Scheduler scheduler = factory.getScheduler(); scheduler.start(); //listen to scheduler events scheduler.getListenerManager().addJobListener(new JobListener() { @Override public String getName() { return "listener"; } @Override public void jobToBeExecuted(JobExecutionContext jec) { } @Override public void jobExecutionVetoed(JobExecutionContext jec) { } @Override public void jobWasExecuted(JobExecutionContext jec, JobExecutionException jee) { System.out.println(">>>>>>>> done"); System.out.println(jec.getResult()); } }, new Matcher<JobKey>() { @Override public boolean isMatch(JobKey t) { return true; } }); //prepare a process job final ProcessDescriptor desc = ProcessFinder.getProcessDescriptor("demo", "addition"); final ParameterValueGroup input = desc.getInputDescriptor().createValue(); input.parameter("first").setValue(15d); input.parameter("second").setValue(5d); final org.geotoolkit.process.Process process = desc.createProcess(input); final ProcessJobDetail detail = new ProcessJobDetail(process); //final ProcessJobDetail detail = new ProcessJobDetail("demo", "addition", input); SimpleTrigger trigger = new SimpleTriggerImpl(UUID.randomUUID().toString(),5, 500); scheduler.scheduleJob(detail, trigger); } }