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

版权声明:本文为博主原创文章,未经博主允许不得转载。QQ讨论群:271934368 https://blog.csdn.net/huangjp_hz/article/details/78142042

小记

在做调价执行的定时任务时,使用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

猜你喜欢

转载自blog.csdn.net/huangjp_hz/article/details/78142042
今日推荐