Java 每月25日触发的Cron表达式

Java 每月25日触发的Cron表达式,java,spring,cron,Java,Spring,Cron,如何编写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 * ?

如何编写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)
此日期仅为1月1日,时间无效,请改为:

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

引用:

我的数据库中有Cron表达式,我正在获取它们。首先,我如何能够检查Cron表达式,然后通过Cron表达式触发。或者
@Scheduled(Cron=“0 9 25 1/1?”)
@Scheduled(cron="0 0 9 25 * ?")