在spring boot项目中使用定时发送消息
首先在启动类上面使用注解@EnableScheduling
@SpringBootApplication
@EnableScheduling
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
在定时任务上添加注解@Scheduled(cron = "")
/**
* @Auther: lirui
* @Description:
*/
@Service
public class TestService {
//获取配置文件的cron表达式 每隔一分钟打印一次
@Scheduled(cron= "${system.cron}")
public void sendMessage(){
System.out.println("当前时间="+new Date());
}
}
application.yml文件中添加配置信息
system:
cron: "0 */1 * * * ?"
cron表达式
秒(0-59) 分(0-59) 时(0-23) 日(0-31) 月(0-11) 星期(1-7/SUN-SAT) (年)
1. 数字表示具体时间
2. *表示任意时间
3. */x 表示每x时间
4. 集合表示具体的几个时间点
5. -表示时间段
6. L表示last,例如星期中表示7或SAT,月份中表示最后一天31或30,6L表示这个月倒数第6天,FRIL表示这个月的最后一个星期五
7. W只能用在月份中,表示最接近指定天的工作日
8. #只能用在星期中,表示这个月的第几个周几;例如6#3表示这个月的第3个周五
9. /指定增量 例如在分钟里,"3/15"表示从3分钟开始,每隔15分钟执行一次