Spring动态配置计时器触发时间的实例代码

网友投稿 268 2023-01-30


Spring动态配置计时器触发时间的实例代码

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(Shttp://chedulerTest.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动态配置计时器触发时间的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,会及时回复大家的。在此也非常感谢大家对我们网站的支持!


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:go接口自动化测试工具(go接口自动化测试工具有哪些)
下一篇:详解express + mock让前后台并行开发
相关文章

 发表评论

暂时没有评论,来抢沙发吧~