【spring+quartz定时任务】Spring QuartZ 获取Cron的值

小记

在做调价执行的定时任务时,使用Spring QuartZ Cron表达式,将时间配置在spring-task.xml配置文件中。在开发web页面的时候,需要取出Cron时间告诉营业员,价格将在XX年XX月XX日 XX:XX : XX开始执行。

取Cron值很简单,CronTriggerImpl有封装好的方法getNextFireTime()可以获取下次执行时间,使用DateFormatUtils转化成想要的类型,展示到页面上就OK了,下面是示例:

spring-task.xml


<bean id="autoAdjustPriceTriggerBean" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
 <property name="jobDetail" ref="autoAdjustPriceJob" />
 <property name="cronExpression" value="0 20 11 * * ?">property>
bean>

AdjustPriceServiceImpl.java


@Autowired
@Qualifier("autoAdjustPriceTriggerBean")    //对应spring-task.xml中的beanId
private org.springframework.scheduling.quartz.CronTriggerFactoryBean autoAdjustPriceTriggerBean;

@Override
public String getNextFireTime() {

    Date date = autoAdjustPriceTriggerBean.getObject().getNextFireTime();
    String nextFireTime = DateFormatUtils.format(date, "HH:mm:ss");

    return nextFireTime;
}

end

你可能感兴趣的:(Spring)