2015-03-03 40 views
0

我有一個石英調度程序正在我的開發機器(Windows 7)中工作,但不幸的是沒有在我的Linux機器上生產。在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(); 

日誌下面的語句不工作,並且不返回任何錯誤。

+0

你會得到什麼錯誤信息? – Nessuno 2015-03-03 09:46:48

+0

沒有錯誤消息,但在此行「new StdSchedulerFactory()。getScheduler();」之後,什麼都不執行 – 2015-03-03 10:07:28

+0

那麼您正在使用try/catch塊。如果我正確地讀取了你的代碼,你的'LOGGER'應該包含'e.getMessage()'的消息。你是否正在調試你的代碼,並且它不會越過'Scheduler scheduler = new StdSchedulerFactory()。getScheduler();'? – Nessuno 2015-03-03 10:09:53

回答

0

在我的應用程序中有一些slf4j jar文件衝突。 實際上有多個不同版本的slf4j jar文件,所以我刪除了所有這些文件,並使用了一個版本。現在,調度程序啓動了。

相關問題