加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 每个月25日触发的Cron表达式

发布时间:2020-12-14 23:34:01 所属栏目:Java 来源:网络整理
导读:如何编写cron表达式以在每个月的25日在早上9点开始触发一个函数? 当我执行此代码时, import org.springframework.scheduling.annotation.Scheduled;import org.springframework.stereotype.Service;@Servicepublic class PayrollSchedulerImpl implements P
如何编写cron表达式以在每个月的25日在早上9点开始触发一个函数?

当我执行此代码时,

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
@Service
public class PayrollSchedulerImpl implements PayrollScheduler{

    @Scheduled(cron="0 9 25 1 * ?")
    public void calculateSalaryScheduled()
    {
        calculateSalary();
    }

    public void calculateSalary()
    {
        /* */
    }
}

我收到错误,

java.lang.StackOverflowError
    sun.util.calendar.ZoneInfo.getOffsets(Unknown Source)
    sun.util.calendar.ZoneInfo.getOffsets(Unknown Source)
    java.util.GregorianCalendar.computeFields(Unknown Source)
    java.util.GregorianCalendar.computeTime(Unknown Source)
    java.util.Calendar.updateTime(Unknown Source)
    java.util.Calendar.complete(Unknown Source)
    java.util.Calendar.get(Unknown Source)
    org.springframework.scheduling.support.CronSequenceGenerator.doNext(CronSequenceGenerator.java:130)

解决方法

@Scheduled(cron="0 9 25 1 * ?")

这只是1月1日,时间无效,你需要这个:

@Scheduled(cron="0 0 9 25 * ?")

参考:CronSequenceGenerator

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读