原因是Spring默认定时@Scheduled不支持L,W,C特殊字符
- 解决:@Scheduled(cron = “0 15 10 28-31 * ?”) 28-31号都执行代码块,在代码里面判断是否为月底
@Scheduled(cron = "0 15 10 28-31 * ?")
public void execute() {
//判断是否是这个月最后一天
final Calendar c = Calendar.getInstance();
if (c.get(Calendar.DATE) == c.getActualMaximum(Calendar.DATE)) {
//执行代码
log.info("执行定时任务");
}
}