public static void main(String[] args) {
try {
// 从工厂中获取Scheduler示例
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
// 开始
scheduler.start();
// 定义Job,并将其绑定到HelloJob类中
JobDetail job = JobBuilder.newJob(HelloJob.class)
.withIdentity(“job1”, “group1”) // name 和 group
.usingJobData(“username”, “天乔巴夏”) // 置入JobDataMap
.usingJobData(“age”, “20”)
.withDescription(“desc-demo”)
.build();
// 触发Job执行,每40s执行一次
Trigger trigger = TriggerBuilder.newTrigger()
.withIdentity(“trigger1”, “group1”)
.startNow() // 立即开始
.withSchedule(SimpleScheduleBuilder.simpleSchedule()
.withIntervalInSeconds(40)
.repeatForever())
.build();
// 告诉 quartz 使用trigger来调度job
scheduler.scheduleJob(job, trigger);
// 关闭,线程终止
scheduler.shutdown();
} catch (SchedulerException se) {
se.printStackTrace();
}
}
}
@Slf4j
@NoArgsConstructor
public class HelloJob implements Job {
@Override
public void execute(JobExecutionContext context) throws JobExecutionException {
// 从context中获取属性
JobDetail jobDetail = context.getJobDetail();
JobDataMap jobDataMap = jobDetail.getJobDataMap();
JobKey key = jobDetail.getKey();
Class<? extends Job> jobClass = jobDetail.getJobClass();
String description = jobDetail.getDescription();
String username = jobDataMap.getString(“username”);
int age = job