我有一个 Quartz 调度程序,它可以在我的开发机器(Windows 7)中运行,但不幸的是不能在我的 Linux 机器上运行。
代码
public class SchedulerClass {
static Logger LOGGER = Logger.getLogger(SchedulerClass.class.getName());
public SchedulerClass(){
ResourceBundle rb = ResourceBundle.getBundle("Scheduler");
LOGGER.info("SCHEDULERCLASS:"+rb.getString("groupname"));
JobDetail job = JobBuilder.newJob(TriggerSchedule.class)
.withIdentity(rb.getString("jobname"), rb.getString("groupname")).build();
LOGGER.info("JOB "+job);
Trigger trigger = TriggerBuilder
.newTrigger()
.withIdentity(rb.getString("triggername"), rb.getString("groupname"))
.withSchedule(
CronScheduleBuilder.cronSchedule(rb.getString("cronexp")))
.build();
LOGGER.info("TRIGGER "+trigger);
try {
Scheduler scheduler = new StdSchedulerFactory().getScheduler();
LOGGER.info("scheduler "+scheduler);
scheduler.start();
scheduler.scheduleJob(job, trigger);
LOGGER.info("Scheduler started");
System.out.println("YYYYY: "+scheduler.getTriggerState(new TriggerKey("DellTrigger")));
} catch (SchedulerException e) {
LOGGER.error("SchedulerException-----"+e.getMessage());
}
}
它失败了
Scheduler scheduler = new StdSchedulerFactory().getScheduler();
下面的日志语句不起作用,并且没有返回任何错误。
最佳答案
我的应用程序中存在一些 slf4j jar 文件冲突。 实际上有多个不同版本的 slf4j jar 文件,所以我将它们全部删除并使用单个版本。现在调度程序已启动。
关于java - Windows 7 开发机器上的 Quartz 调度程序和 Linux 机器上的生产环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28828531/