在java开发中,我们经常会遇到一些需要定时去运行的接口,设置定时任务的方式有很多,这里介绍很简单的一种定时任务注解——@Scheduled
1.如何使用@Scheduled注解
想要使用这个注解时,直接加在接口上即可
其中定时时间需要自己添加,格式为@Scheduled(cron = “************”)
cron时间不需要学如何写,直接用在线cron表达式生成器生成即可
自己选择时间间隔,然后会自动生成表达式,有的网站自带“最近十次运行时间”功能,可以查看设置的间隔是否正确,具体可以查看教程
2.如何设置定时任务开关
有时候我们本地启动服务时,定时任务一直在运行,在后台打印很多日志,很是烦人,我们可以通过配置文件数据注入来控制任务是否执行,使用@Value(“**”)注解来读取我们在配置文件中配置的值来确定是否执行
如下图先在yml配置文件中配置一个值为false的数
然后在业务层注入
在相关接口中对该值进行判断,来决定执不执行任务
注意:该方法是为了本地启动服务时不执行定时任务,部署在正式服务器上的服务需要在正式服务器配置中修改一下这个值,使其在正式服务器上可以执行