相关疑难解决方法(0)

CronSequenceGenerator的解决方法最后一个月?

好的,所以我想安排一个任务在每个月的最后一天上午10:10运行.我的cron表达是

0 10 10 L * ?
Run Code Online (Sandbox Code Playgroud)

现在问题是CronSequenceGenerator为'L'值抛出NumberFormatException.这意味着Spring的CronSequenceGenerator不支持这种表达式.如何以任何其他方式执行此操作(解决方法).我不想使用quartz或者是spring的在新版本中支持这一点.

这是完整的堆栈跟踪:

Exception in thread "main" java.lang.NumberFormatException: For input string: "L"
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
    at java.lang.Integer.parseInt(Integer.java:492)
    at java.lang.Integer.valueOf(Integer.java:582)
    at org.springframework.scheduling.support.CronSequenceGenerator.getRange(CronSequenceGenerator.java:324)
    at org.springframework.scheduling.support.CronSequenceGenerator.setNumberHits(CronSequenceGenerator.java:297)
    at org.springframework.scheduling.support.CronSequenceGenerator.setDays(CronSequenceGenerator.java:275)
    at org.springframework.scheduling.support.CronSequenceGenerator.setDaysOfMonth(CronSequenceGenerator.java:266)
    at org.springframework.scheduling.support.CronSequenceGenerator.parse(CronSequenceGenerator.java:239)
    at org.springframework.scheduling.support.CronSequenceGenerator.<init>(CronSequenceGenerator.java:81)
    at org.springframework.scheduling.support.CronTrigger.<init>(CronTrigger.java:54)
    at org.springframework.scheduling.support.CronTrigger.<init>(CronTrigger.java:44)
    at com.hcdc.coedp.datantar.scheduler.SchedulerUtil.start(SchedulerUtil.java:75)
    at com.hcdc.coedp.datantar.scheduler.SchedulerUtil.changeTrigger(SchedulerUtil.java:106)
    at com.hcdc.coedp.datantar.scheduler.SchedulingService.scheduleTransfer(SchedulingService.java:70)
    at com.hcdc.coedp.datantar.scheduler.Scheduler.schedule(Scheduler.java:107)
    at main.Main.main(Main.java:47)
Run Code Online (Sandbox Code Playgroud)

更新:

以下是我的调度方法

 /**
    * Schedule a task {@link Task} with a specified cron expression.
    * @param task {@link Task}
    * @param cronExpression cron expression to be applied must …
Run Code Online (Sandbox Code Playgroud)

java spring spring-mvc scheduled-tasks cronexpression

8
推荐指数
2
解决办法
4568
查看次数

春季时间表 - 一个月的最后一天不工作

我想在“每个月的最后一天 10:15”和“每个月的第一个星期天”运行一个 spring 调度器作业 -

我在下面尝试过 - 但它在初始化 spring 上下文时出错:

org.springframework.boot.SpringApplication:应用程序启动失败 java.lang.IllegalStateException:遇到无效的@Scheduled 方法“monthEndSchedule”:对于输入字符串:“L”

@Override
@Scheduled(cron = "0 15 10 L * ?")
public void monthEndSchedule() { 
  //
}
Run Code Online (Sandbox Code Playgroud)

虽然下面的作品在“每天凌晨 1 点”运行

@Override
@Scheduled(cron = "0 0 1 * * ?")
public void surveyDailySchedule() {
//
}
Run Code Online (Sandbox Code Playgroud)

我使用过的 Cron 表达式参考:http : //www.quartz-scheduler.org/documentation/quartz-2.x/tutorials/crontrigger.html

cron spring-scheduled

3
推荐指数
1
解决办法
2006
查看次数