You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Claus Ibsen (Jira)" <ji...@apache.org> on 2021/02/02 09:35:00 UTC

[jira] [Comment Edited] (CAMEL-16128) Camel cron expression parse failure

    [ https://issues.apache.org/jira/browse/CAMEL-16128?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17276983#comment-17276983 ] 

Claus Ibsen edited comment on CAMEL-16128 at 2/2/21, 9:34 AM:
--------------------------------------------------------------

That is because you are using spring as cron implementation and it seems to not support 7, if you use quartz then it can do 7 and more advanced cron expressions

However the 7 digit is year which is seldom in use.
http://www.quartz-scheduler.org/documentation/quartz-2.3.0/tutorials/crontrigger.html


was (Author: davsclaus):
That is because you are using spring as cron implementation and it seems to not support 7, if you use quartz then it can do 7 and more advanced cron expressions

> Camel cron expression parse failure
> -----------------------------------
>
>                 Key: CAMEL-16128
>                 URL: https://issues.apache.org/jira/browse/CAMEL-16128
>             Project: Camel
>          Issue Type: Bug
>    Affects Versions: 3.5.0, 3.7.1
>            Reporter: Adam Ostrožlík
>            Priority: Major
>
> spring-boot camel-cron-starter + endpointdsl throws exception while using this expression:
>  
> {code:java}
> 0 0 0 1/1 * ? *
> {code}
> Doc says that supported field count is 7. [https://camel.apache.org/components/latest/cron-component.html]
> Workaround is probably to omit last optional year character.
> Code causing this:
> {code:java}
> from(cron("cleanup").schedule("0 0 0 1/1 * ? *)){code}
> {code:java}
> org.apache.camel.RuntimeCamelException: java.lang.IllegalArgumentException: Cron expression must consist of 6 fields (found 7 in "0 0 0 1/1 * ? *")org.apache.camel.RuntimeCamelException: java.lang.IllegalArgumentException: Cron expression must consist of 6 fields (found 7 in "0 0 0 1/1 * ? *") at org.apache.camel.RuntimeCamelException.wrapRuntimeCamelException(RuntimeCamelException.java:51) ~[camel-api-3.5.0.jar:3.5.0] at org.apache.camel.spring.SpringCamelContext.start(SpringCamelContext.java:133) ~[camel-spring-3.5.0.jar:3.5.0] at org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:167) ~[camel-spring-3.5.0.jar:3.5.0] at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172) ~[spring-context-5.2.9.RELEASE.jar:5.2.9.RELEASE] at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165) ~[spring-context-5.2.9.RELEASE.jar:5.2.9.RELEASE] at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139) ~[spring-context-5.2.9.RELEASE.jar:5.2.9.RELEASE] at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:404) ~[spring-context-5.2.9.RELEASE.jar:5.2.9.RELEASE] at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:361) ~[spring-context-5.2.9.RELEASE.jar:5.2.9.RELEASE] at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:898) ~[spring-context-5.2.9.RELEASE.jar:5.2.9.RELEASE] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:554) ~[spring-context-5.2.9.RELEASE.jar:5.2.9.RELEASE] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:758) ~[spring-boot-2.3.4.RELEASE.jar:2.3.4.RELEASE] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:750) ~[spring-boot-2.3.4.RELEASE.jar:2.3.4.RELEASE] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397) ~[spring-boot-2.3.4.RELEASE.jar:2.3.4.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) ~[spring-boot-2.3.4.RELEASE.jar:2.3.4.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1237) ~[spring-boot-2.3.4.RELEASE.jar:2.3.4.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226) ~[spring-boot-2.3.4.RELEASE.jar:2.3.4.RELEASE] at cz.multima.nathan.integration.producer.NathanKafkaProducer.main(NathanKafkaProducer.java:14) ~[main/:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64) ~[na:na] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:564) ~[na:na] at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) ~[spring-boot-devtools-2.3.4.RELEASE.jar:2.3.4.RELEASE]Caused by: java.lang.IllegalArgumentException: Cron expression must consist of 6 fields (found 7 in "0 0 0 1/1 * ? *") at org.springframework.scheduling.support.CronSequenceGenerator.parse(CronSequenceGenerator.java:273) ~[spring-context-5.2.9.RELEASE.jar:5.2.9.RELEASE] at org.springframework.scheduling.support.CronSequenceGenerator.<init>(CronSequenceGenerator.java:98) ~[spring-context-5.2.9.RELEASE.jar:5.2.9.RELEASE] at org.springframework.scheduling.support.CronTrigger.<init>(CronTrigger.java:55) ~[spring-context-5.2.9.RELEASE.jar:5.2.9.RELEASE] at org.apache.camel.spring.pollingconsumer.SpringScheduledPollConsumerScheduler.doStart(SpringScheduledPollConsumerScheduler.java:118) ~[camel-spring-3.5.0.jar:3.5.0] at org.apache.camel.support.service.BaseService.start(BaseService.java:115) ~[camel-api-3.5.0.jar:3.5.0] at org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:84) ~[camel-api-3.5.0.jar:3.5.0] at org.apache.camel.support.ScheduledPollConsumer.doStart(ScheduledPollConsumer.java:481) ~[camel-support-3.5.0.jar:3.5.0] at org.apache.camel.support.service.BaseService.start(BaseService.java:115) ~[camel-api-3.5.0.jar:3.5.0] at org.apache.camel.impl.engine.AbstractCamelContext.startService(AbstractCamelContext.java:3126) ~[camel-base-3.5.0.jar:3.5.0] at org.apache.camel.impl.engine.InternalRouteStartupManager.doStartOrResumeRouteConsumers(InternalRouteStartupManager.java:362) ~[camel-base-3.5.0.jar:3.5.0] at org.apache.camel.impl.engine.InternalRouteStartupManager.doStartRouteConsumers(InternalRouteStartupManager.java:282) ~[camel-base-3.5.0.jar:3.5.0] at org.apache.camel.impl.engine.InternalRouteStartupManager.safelyStartRouteServices(InternalRouteStartupManager.java:181) ~[camel-base-3.5.0.jar:3.5.0] at org.apache.camel.impl.engine.InternalRouteStartupManager.doStartOrResumeRoutes(InternalRouteStartupManager.java:115) ~[camel-base-3.5.0.jar:3.5.0] at org.apache.camel.impl.engine.AbstractCamelContext.doStartCamel(AbstractCamelContext.java:2907) ~[camel-base-3.5.0.jar:3.5.0] at org.apache.camel.impl.engine.AbstractCamelContext.doStartContext(AbstractCamelContext.java:2740) ~[camel-base-3.5.0.jar:3.5.0] at org.apache.camel.impl.engine.AbstractCamelContext.doStart(AbstractCamelContext.java:2703) ~[camel-base-3.5.0.jar:3.5.0] at org.apache.camel.spring.boot.SpringBootCamelContext.doStart(SpringBootCamelContext.java:43) ~[camel-spring-boot-3.5.0.jar:3.5.0] at org.apache.camel.support.service.BaseService.start(BaseService.java:115) ~[camel-api-3.5.0.jar:3.5.0] at org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamelContext.java:2469) ~[camel-base-3.5.0.jar:3.5.0] at org.apache.camel.spring.SpringCamelContext.start(SpringCamelContext.java:130) ~[camel-spring-3.5.0.jar:3.5.0] ... 20 common frames omitted{code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)