[
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