You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "John Yin (Jira)" <ji...@apache.org> on 2023/10/13 21:57:00 UTC

[jira] [Commented] (CAMEL-19914) Start and stop a quartz route messes up its schedule

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

John Yin commented on CAMEL-19914:
----------------------------------

Hi [~davsclaus],

It seemed that trigger.misfireInstruction=4 no longer works.  With quartz-2.3.2.jar, and the following route
 
from("quartz://test-1?cron=0+0/3+*+?+*+*&trigger.timeZone=America/New_York&trigger.misfireInstruction=4").routeId('ROUTE_test_1')
Camel (both 3.20.6 and 4.0.1) returned the following error:

Caused by: org.apache.camel.ResolveEndpointFailedException: Failed to resolve endpoint: quartz://test-1?cron=0+0%2F3+*+%3F+*+*&trigger.misfireInstruction=4&trigger.timeZone=America%2FNew_York due to: Error binding property (misfireInstruction=4) with name: misfireInstruction on bean: Trigger 'Camel_camel-1.test-1':  triggerClass: 'org.quartz.impl.triggers.CronTriggerImpl calendar: 'null' misfireInstruction: 1 nextFireTime: null with value: 4

If the misfireInstruction is removed from the route, the route can be started no problem.

 

Should I open another ticket?  Or I did something wrong here.

Thanks,

John

> Start and stop a quartz route messes up its schedule
> ----------------------------------------------------
>
>                 Key: CAMEL-19914
>                 URL: https://issues.apache.org/jira/browse/CAMEL-19914
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-quartz
>    Affects Versions: 3.20.6
>            Reporter: John Yin
>            Priority: Major
>
> When a stopped quartz route is resumed, if it has missed a previously scheduled firing because of the stop, it would immediately fire regardless its defined schedule.  Here is an example:
> from("quartz://test?cron=0+0/3+*+?+*+*").routeId("ROUTE_test").autoStartup(true).log("in test")
>  
> from("timer://start_stop_test?repeatCount=1").autoStartup(true)
>     .process({
>         // stop route "ROUTE_test" using routeController API
>         // wait for more than 3 minutes so that the stopped ROUTE_test will miss a firing
>         // resume route "ROUTE_test" using routeController API.  You will see ROUTE_test immediately fire regardless whether it is the scheduled time or not.
>     })



--
This message was sent by Atlassian Jira
(v8.20.10#820010)