2011-01-24 59 views
3

我的任務是使用用戶從GUI指定的計劃時間動態生成報告。在Spring中動態地使用相同的作業細節重新計劃CronTriggerBean

我使用在我在彈簧的應用的應用上下文以下代碼以每日生成報告上午06點。

<bean name="scheduleRptJob" class="org.springframework.scheduling.quartz.JobDetailBean"> 
    <property name="jobClass" value="com.secant.qatool.report.scheduler.ScheduleCroneJob"/> 
</bean> 

<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean"> 
    <property name="jobDetail" ref="scheduleRptJob" /> 

<bean id="schedulerFactory" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> 
    <property name="triggers"> 
     <list> 
      <ref bean="cronTrigger"/> 
     </list> 
    </property> 
</bean> 

我動態改變cron表達式從控制器使用以下代碼。但它不起作用。

String time[] = rptScheduleTime.split(":"); 

    String hours = time[0]; 
    String minutes = time[1]; 

    String croneExp = " 00 " + minutes + " " + hours + " * * ? "; 

    log.debug("CRONE EXP :: " + croneExp); 

    cronTrigger.clearAllTriggerListeners(); 

    // Setting the crown expression. 
    cronTrigger.setCronExpression(croneExp); 

    Trigger[] triggers = {cronTrigger}; 

    // Code to pause and start the cron trigger. 
    schedulerFactory.stop(); 
    schedulerFactory.setTriggers(triggers); 
    schedulerFactory.start(); 

有人可以請幫助我如何重新安排與動態時間相同的工作。

感謝,

-Anil Kumar.C

回答

1

我發現this線程從DB讀取cron expr,然後重新安排作業。你只是不會從數據庫中讀取它,而是直接從GUI中傳遞它。

相關問題