当前位置: 首页 > 知识库问答 >
问题:

java.lang.IllegalStateException:遇到无效@Scheduan方法'执行':对于输入字符串:"1#1"

姜振濂
2023-03-14

我有以下方法声明

@Scheduled(cron = "0 0 12 ? * MON#1")
protected synchronized void execute() {...}

但是我的应用程序启动失败,我在日志中看到以下错误:

Caused by: java.lang.IllegalStateException: Encountered invalid @Scheduled method 'execute': For input string: "1#1"
    at org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.processScheduled(ScheduledAnnotationBeanPostProcessor.java:461) ~[spring-context-4.3.13.RELEASE.jar:4.3.13.RELEASE]
    at org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.postProcessAfterInitialization(ScheduledAnnotationBeanPostProcessor.java:331) ~[spring-context-4.3.13.RELEASE.jar:4.3.13.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization(AbstractAutowireCapableBeanFactory.java:423) ~[spring-beans-4.3.13.RELEASE.jar:4.3.13.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1633) ~[spring-beans-4.3.13.RELEASE.jar:4.3.13.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:555) ~[spring-beans-4.3.13.RELEASE.jar:4.3.13.RELEASE]
    ... 19 common frames omitted

怎么纠正呢?

共有1个答案

壤驷心思
2023-03-14

当Spring Boot无法识别cron表达式时发生错误。可能是由于MON#1部分。

Spring文档和本文可能有助于在Spring boot中找到正确的cron表达式。

文档中的一些示例:

"0 0 * * * *" = the top of every hour of every day.
"*/10 * * * * *" = every ten seconds.
"0 0 8-10 * * *" = 8, 9 and 10 o'clock of every day.
"0 0 8,10 * * *" = 8 and 10 o'clock of every day.
"0 0/30 8-10 * * *" = 8:00, 8:30, 9:00, 9:30 and 10 o'clock every day.
"0 0 9-17 * * MON-FRI" = on the hour nine-to-five weekdays
"0 0 0 25 12 ?" = every Christmas Day at midnight

从帖子中(包括秒数):

每天中午12点:0 0 12 * * ?

每五分钟从下午1点开始到下午1:55结束,然后从下午6点开始到下午6:55结束,每天:0 0/5 13,18**

从下午1点开始到下午1:05结束的每分钟,每天:0-5 13**

在6月的每个星期二下午1:15和1:45:0 15,45 13?6星期二

每周一、二、三、四、五上午9:30:0 30 9?*MON-FRI

每月15日上午9:30:0 30 9 15*

每月最后一天下午6点:0 0 18 L * ?

每月第三天到最后一天下午6点:0 18 L-3*

每月最后一个星期四上午10:30:0 30 10?*5L

每月第三个星期一上午10点:010?*2#3

从每月10日开始的五天内,每天午夜12点:0 10/5*

 类似资料: