我有一个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文件,因此我删除了所有文件并使用了一个版本。现在启动了调度程序。