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

Claus Ibsen commented on CAMEL-3688:
------------------------------------

Yeah you need to stick the state into each individual task which are scheduled. 
That's easy to do in the following code
{code}
        task = new TimerTask() {
            @Override
            public void run() {
                sendTimerExchange();
            }
        };
{code}

And when we exceeded you can cancel the task using task.cancel(); Which 
fingers-crossed would let the JDK unschedule the task. And maybe also reset the 
counter, in case end user re-start the consumer. In case we want it to schedule 
and emit messages again.

> Add repeatCount option to timer component
> -----------------------------------------
>
>                 Key: CAMEL-3688
>                 URL: https://issues.apache.org/jira/browse/CAMEL-3688
>             Project: Camel
>          Issue Type: New Feature
>          Components: camel-core
>    Affects Versions: 2.6.0
>            Reporter: Claus Ibsen
>            Assignee: Tracy Snell
>            Priority: Minor
>             Fix For: 2.7.0
>
>
> Sometimes you may just want to trigger a route once on startup. And using a 
> timer for that would be easy. But the timer will keep firing. So we need a 
> {{repeatCount}} option.
> If we exceed the count then it should not emit any message.
> Ideally it should unschedule the task, and reset the count.
> Remember the current count is state full per timer task. So it needs to be 
> stored on the task. As you can have multiple timer tasks running (eg with 
> different names)

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to