|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface Scheduler
A scheduler to schedule time/cron based jobs.
A job is an object that is executed/fired by the scheduler. The object
should either implement the Job
interface or the Runnable
interface.
Field Summary | |
---|---|
static java.lang.String |
PROPERTY_SCHEDULER_CONCURRENT
Name of the configuration property to define if the job can be run concurrently. |
static java.lang.String |
PROPERTY_SCHEDULER_EXPRESSION
Name of the configuration property to define the cron expression for a job. |
static java.lang.String |
PROPERTY_SCHEDULER_IMMEDIATE
Name of the configuration property to define if a periodically job should be scheduled immediate. |
static java.lang.String |
PROPERTY_SCHEDULER_NAME
Name of the configuration property to define the job name. |
static java.lang.String |
PROPERTY_SCHEDULER_PERIOD
Name of the configuration property to define the period for a job. |
Method Summary | |
---|---|
void |
addJob(java.lang.String name,
java.lang.Object job,
java.util.Map<java.lang.String,java.io.Serializable> config,
java.lang.String schedulingExpression,
boolean canRunConcurrently)
Schedule a time based job. |
void |
addPeriodicJob(java.lang.String name,
java.lang.Object job,
java.util.Map<java.lang.String,java.io.Serializable> config,
long period,
boolean canRunConcurrently)
Schedule a periodic job. |
void |
addPeriodicJob(java.lang.String name,
java.lang.Object job,
java.util.Map<java.lang.String,java.io.Serializable> config,
long period,
boolean canRunConcurrently,
boolean startImmediate)
Schedule a periodic job. |
void |
fireJob(java.lang.Object job,
java.util.Map<java.lang.String,java.io.Serializable> config)
Fire a job immediately and only once. |
boolean |
fireJob(java.lang.Object job,
java.util.Map<java.lang.String,java.io.Serializable> config,
int times,
long period)
Fire a job immediately more than once. |
void |
fireJobAt(java.lang.String name,
java.lang.Object job,
java.util.Map<java.lang.String,java.io.Serializable> config,
java.util.Date date)
Fire a job once at a specific date Note that if a job with the same name has already been added, the old job is cancelled and this new job replaces the old job. |
boolean |
fireJobAt(java.lang.String name,
java.lang.Object job,
java.util.Map<java.lang.String,java.io.Serializable> config,
java.util.Date date,
int times,
long period)
Fire a job once at a specific date, several times with a given interval. |
void |
removeJob(java.lang.String name)
Remove a scheduled job by name. |
Field Detail |
---|
static final java.lang.String PROPERTY_SCHEDULER_PERIOD
static final java.lang.String PROPERTY_SCHEDULER_IMMEDIATE
static final java.lang.String PROPERTY_SCHEDULER_EXPRESSION
static final java.lang.String PROPERTY_SCHEDULER_CONCURRENT
static final java.lang.String PROPERTY_SCHEDULER_NAME
Method Detail |
---|
void addJob(java.lang.String name, java.lang.Object job, java.util.Map<java.lang.String,java.io.Serializable> config, java.lang.String schedulingExpression, boolean canRunConcurrently) throws java.lang.Exception
name
- The name of the job - or null. If no name is specified it can't be cancelled.job
- The job to execute (either Job
or Runnable
).config
- An optional configuration object - this configuration is only passed to the job the job implements Job
.schedulingExpression
- The time specification using a scheduling expression.canRunConcurrently
- Whether this job can run even if previous scheduled runs are still running.
java.lang.IllegalArgumentException
- If the scheduling expression can't be parsed or if the job has not the correct type.
java.lang.Exception
- If the job can't be scheduled.void addPeriodicJob(java.lang.String name, java.lang.Object job, java.util.Map<java.lang.String,java.io.Serializable> config, long period, boolean canRunConcurrently) throws java.lang.Exception
name
- The name of the job - or null. If no name is specified it can't be cancelled.job
- The job to execute (either Job
or Runnable
).config
- An optional configuration object - this configuration is only passed to the job the job implements Job
.period
- Every period seconds this job is started.canRunConcurrently
- Whether this job can run even if previous scheduled runs are still running.
java.lang.IllegalArgumentException
- If the job has not the correct type.
java.lang.Exception
- If the job can't be scheduled.void addPeriodicJob(java.lang.String name, java.lang.Object job, java.util.Map<java.lang.String,java.io.Serializable> config, long period, boolean canRunConcurrently, boolean startImmediate) throws java.lang.Exception
name
- The name of the job - or null. If no name is specified it can't be cancelled.job
- The job to execute (either Job
or Runnable
).config
- An optional configuration object - this configuration is only passed to the job the job implements Job
.period
- Every period seconds this job is started.canRunConcurrently
- Whether this job can run even if previous scheduled runs are still running.startImmediate
- Whether to start the job immediately for the first time or wait for the period to expire.
java.lang.IllegalArgumentException
- If the job has not the correct type.
java.lang.Exception
- If the job can't be scheduled.void fireJob(java.lang.Object job, java.util.Map<java.lang.String,java.io.Serializable> config) throws java.lang.Exception
job
- The job to execute (either Job
or Runnable
).config
- An optional configuration object - this configuration is only passed to the job the job implements Job
.
java.lang.IllegalArgumentException
- If the job has not the correct type.
java.lang.Exception
- If the job can't be scheduled.boolean fireJob(java.lang.Object job, java.util.Map<java.lang.String,java.io.Serializable> config, int times, long period)
job
- The job to execute (either Job
or Runnable
).config
- An optional configuration object - this configuration is only passed to the job the job implements Job
.times
- The number of times this job should be started (must be higher than 1)period
- Every period seconds this job is started.
java.lang.IllegalArgumentException
- If the job has not the correct type.void fireJobAt(java.lang.String name, java.lang.Object job, java.util.Map<java.lang.String,java.io.Serializable> config, java.util.Date date) throws java.lang.Exception
name
- The name of the job - or null. If no name is specified it can't be cancelled.job
- The job to execute (either Job
or Runnable
).config
- An optional configuration object - this configuration is only passed to the job the job implements Job
.date
- The date this job should be run.
java.lang.IllegalArgumentException
- If the job has not the correct type.
java.lang.Exception
- If the job can't be scheduled.boolean fireJobAt(java.lang.String name, java.lang.Object job, java.util.Map<java.lang.String,java.io.Serializable> config, java.util.Date date, int times, long period)
name
- The name of the job - or null. If no name is specified it can't be cancelled.job
- The job to execute (either Job
or Runnable
).config
- An optional configuration object - this configuration is only passed to the job the job implements Job
.date
- The date this job should be run.times
- The number of times this job should be started (must be higher than 1)period
- Every period seconds this job is started.
java.lang.IllegalArgumentException
- If the job has not the correct type.void removeJob(java.lang.String name) throws java.util.NoSuchElementException
name
- The name of the job.
java.util.NoSuchElementException
- If the job is not scheduled.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |