[ 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