quartz调度配置
<bean id="incrementalJob" p:targetObject-ref="incrementalService" p:targetMethod="job" p:concurrent="false" /> <bean id="checkImagesTrigger" p:jobDetail-ref="incrementalJob" p:cronExpression="0 0 22 * * ?" /> <bean id="scheduler" /> </list> </property> <property name="schedulerContextAsMap"> <map> <entry key="timeout" value="30" /> </map> </property> <property name="quartzProperties"> <props> <prop key="org.quartz.threadPool.class">org.quartz.simpl.SimpleThreadPool</prop> <prop key="org.quartz.threadPool.threadCount">10</prop> </props> </property> </bean>
WebApplicationContext webApplicationContext = WebApplicationContextUtils.getWebApplicationContext(request.getSession().getServletContext());/** * 进行调度时间重算 */CronTriggerBean ct = (CronTriggerBean) webApplicationContext.getBean("myTrigger");CronTriggerBean ct2 = (CronTriggerBean) webApplicationContext.getBean("myStopTrigger");Scheduler scheduler = (Scheduler) webApplicationContext.getBean("scheduler");ct.setCronExpression("5 * * * * ?");ct2.setCronExpression("35 * * * * ?");scheduler.rescheduleJob(ct.getName(), ct.getGroup(), ct);scheduler.rescheduleJob(ct2.getName(), ct2.getGroup(), ct2);public class MyCronTriggerBean extends CronTriggerBean {public void initStartCronExpression() {try {setCronExpression("15 * * * * ?");} catch (ParseException e) {e.printStackTrace();}}public void initStopCronExpression() {try {setCronExpression("15 * * * * ?");} catch (ParseException e) {e.printStackTrace();}}}<bean id="myTrigger" p:jobDetail-ref="myJob" p:cronExpression="0 * * * * ?" init-method="initStartCronExpression" />