问题:SpringBoot中的@Scheduled注解不支持`W,C,L`等特殊字符
解决办法:原来是根据`L`特殊字符判断是否是最后一天,现在cron表达式更改为“28-31”,在代码中判断是否为当月的最后一天。
/**
* repayPlanNoticeJob.monthlyNoticeExecute
* 0 0 10 L * ? 每月最后一天上午10点
*/
@Scheduled(cron = "0 0 10 28-31 * ?")
public void repayPlanNoticeJobMonthlyNoticeExecute() {
final Calendar c = Calendar.getInstance();
// 最后一天
if (c.get(Calendar.DATE) == c.getActualMaximum(Calendar.DATE)) {
repayPlanNoticeJob.monthlyNoticeExecute();
}
}