public class QuartzModule extends Object implements Extension
{
install(new QuartzModule(SampleJob.class));
}
public class SampleJob implements Job {
#64;Scheduled("10m")
public void execute(JobExecutionContext context) {
}
}
Implementation of Job
is optional:
public class MyJobs {
#64;Scheduled("1m")
public void everyMinute() {
....
}
#64;Scheduled("1h")
* public void everyHour() {
* ....
* }
}
Cron expression are supported too. Check the Scheduled
annotation for possible schedule
expressions.
Job key are generated from container class and method name. Example: SampleJob.execute,
MyJob.everyMinute, MyJob.everyHour.
Jobs can be enabled/disabled (paused) at start up time by setting the enabled
property for each job key:
org.quartz.jobs.SampleJob.execute.enabled = falseNow the
SampleJob.execute
is going to be paused at startup time.
The QuartzApp
added a REST API to trigger, interrupt, pause, resume jobs.Constructor and Description |
---|
QuartzModule(Class<?>... jobs)
Creates Quartz module and register the given jobs.
|
QuartzModule(org.quartz.Scheduler scheduler,
Class<?>... jobs)
Creates Quartz module and register the given jobs.
|
Modifier and Type | Method and Description |
---|---|
void |
install(Jooby application) |
static org.quartz.impl.StdSchedulerFactory |
newScheduleFactory(Jooby application)
Creates a new scheduler factory.
|
static org.quartz.Scheduler |
newScheduler(Jooby application)
Creates a new scheduler.
|
public QuartzModule(Class<?>... jobs)
jobs
- Job classes.public QuartzModule(@Nonnull org.quartz.Scheduler scheduler, Class<?>... jobs)
scheduler
- Provided scheduler.jobs
- Job classes.Copyright © 2020. All rights reserved.