org.quartz.jobs
Class NativeJob

java.lang.Object
  extended by org.quartz.jobs.NativeJob
All Implemented Interfaces:
Job

public class NativeJob
extends java.lang.Object
implements Job

Built in job for executing native executables in a separate process.

             JobDetail job = new JobDetail("dumbJob", null, org.quartz.jobs.NativeJob.class);
             job.getJobDataMap().put(org.quartz.jobs.NativeJob.PROP_COMMAND, "echo \"hi\" >> foobar.txt");
             Trigger trigger = TriggerUtils.makeSecondlyTrigger(5);
             trigger.setName("dumbTrigger");
             sched.scheduleJob(job, trigger);
 
If PROP_WAIT_FOR_PROCESS is true, then the Integer exit value of the process will be saved as the job execution result in the JobExecutionContext.

Author:
Matthew Payne, James House, Steinar Overbeck Cook
See Also:
PROP_COMMAND, PROP_PARAMETERS, PROP_WAIT_FOR_PROCESS, PROP_CONSUME_STREAMS

Field Summary
static java.lang.String PROP_COMMAND
          Required parameter that specifies the name of the command (executable) to be ran.
static java.lang.String PROP_CONSUME_STREAMS
          Optional parameter (value should be 'true' or 'false') that specifies whether the spawned process's stdout and stderr streams should be consumed.
static java.lang.String PROP_PARAMETERS
          Optional parameter that specifies the parameters to be passed to the executed command.
static java.lang.String PROP_WAIT_FOR_PROCESS
          Optional parameter (value should be 'true' or 'false') that specifies whether the job should wait for the execution of the native process to complete before it completes.
 
Constructor Summary
NativeJob()
           
 
Method Summary
 void execute(JobExecutionContext context)
           Called by the Scheduler when a Trigger fires that is associated with the Job.
protected  org.slf4j.Logger getLog()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PROP_COMMAND

public static final java.lang.String PROP_COMMAND
Required parameter that specifies the name of the command (executable) to be ran.

See Also:
Constant Field Values

PROP_PARAMETERS

public static final java.lang.String PROP_PARAMETERS
Optional parameter that specifies the parameters to be passed to the executed command.

See Also:
Constant Field Values

PROP_WAIT_FOR_PROCESS

public static final java.lang.String PROP_WAIT_FOR_PROCESS
Optional parameter (value should be 'true' or 'false') that specifies whether the job should wait for the execution of the native process to complete before it completes.

Defaults to true.

See Also:
Constant Field Values

PROP_CONSUME_STREAMS

public static final java.lang.String PROP_CONSUME_STREAMS
Optional parameter (value should be 'true' or 'false') that specifies whether the spawned process's stdout and stderr streams should be consumed. If the process creates output, it is possible that it might 'hang' if the streams are not consumed.

Defaults to false.

See Also:
Constant Field Values
Constructor Detail

NativeJob

public NativeJob()
Method Detail

execute

public void execute(JobExecutionContext context)
             throws JobExecutionException
Description copied from interface: Job

Called by the Scheduler when a Trigger fires that is associated with the Job.

The implementation may wish to set a result object on the JobExecutionContext before this method exits. The result itself is meaningless to Quartz, but may be informative to JobListeners or TriggerListeners that are watching the job's execution.

Specified by:
execute in interface Job
Throws:
JobExecutionException - if there is an exception while executing the job.

getLog

protected org.slf4j.Logger getLog()


Copyright 2001-2019, Terracotta, Inc.