spring中添加计时器的时候根据业务需求可能会需要动态处理触发时间;
import org.slf4j.logger; import org.slf4j.loggerfactory; import org.springframework.scheduling.trigger; import org.springframework.scheduling.triggercontext; import org.springframework.scheduling.annotation.enablescheduling; import org.springframework.scheduling.annotation.schedulingconfigurer; import org.springframework.scheduling.config.scheduledtaskregistrar; import org.springframework.scheduling.support.crontrigger; import org.springframework.stereotype.component; import java.util.date; @component @enablescheduling public class schedulertest implements schedulingconfigurer { private final static logger logger = loggerfactory.getlogger(schedulertest.class); public void configuretasks(scheduledtaskregistrar scheduledtaskregistrar) { // 注册计时任务到scheduling接口 scheduledtaskregistrar.addtriggertask(new runnable() { public void run() { logger.info("task job is running..."); } }, new trigger() { public date nextexecutiontime(triggercontext triggercontext) { crontrigger crontrigger = new crontrigger("时间表达式"); date nextexec = crontrigger.nextexecutiontime(triggercontext); return nextexec; } }); } }
ps:多个计时任务添加的时候只用都注册到spring中即可
总结
以上所述是小编给大家介绍的spring动态配置计时器触发时间的实例代码,希望对大家有所帮助
如对本文有疑问, 点击进行留言回复!!
springmvc之ResponseBody响应json数据遇到的错误及解决
uni-app 后台升级 静默升级 uniapp 后台更新 静默更新 在线升级
SpringBoot多Module启动报错Could not transfer metadata
Hibernate项目报错:Cannot call sendError() after the response has been committed
网友评论