我试图在石英调度程序中使用CronTrigger
。调度程序正在启动,但未触发作业。以下是我的代码,
SchedulerFactory factory = new StdSchedulerFactory();
Scheduler scheduler = factory.getScheduler();
DateBuilder.evenMinuteDate(new Date());
JobDetail job = JobBuilder.newJob(Sample.class).withIdentity("job1", "group1").build();
CronTrigger trigger = TriggerBuilder.newTrigger().withIdentity("trigger1", "group1")
.withSchedule(CronScheduleBuilder.cronSchedule("0 * * ? * *")).build();
scheduler.scheduleJob(job, trigger);
scheduler.start();
Sample
类代码只有一个打印语句。
当前输出低于
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
当前版本,
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.3.2</version>
</dependency>
我想念什么吗?
答案 0 :(得分:1)
这是您的示例,其中实现了Sample类:
public class TestCronJob {
public static void main(String[] args) throws SchedulerException {
SchedulerFactory factory = new StdSchedulerFactory();
Scheduler scheduler = factory.getScheduler();
DateBuilder.evenMinuteDate(new Date());
JobDetail job = JobBuilder.newJob(Sample.class).withIdentity("job1", "group1").build();
CronTrigger trigger = TriggerBuilder.newTrigger().withIdentity("trigger1", "group1")
.withSchedule(CronScheduleBuilder.cronSchedule("0 * * ? * *")).build();
scheduler.scheduleJob(job, trigger);
scheduler.start();
}
public static class Sample implements Job {
@Override
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
System.out.println("From job: " + new Date());
}
}
}
并且每分钟打印一次:
From job: Tue May 26 17:59:00 EEST 2020
From job: Tue May 26 18:00:00 EEST 2020
...
因此,它正在按预期方式工作。 在您的情况下,可能与日志记录框架有关? 我看到您在输出中有此消息:
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".