Timer Component
The timer: component is used to generate message exchanges when a timer fires You can only consume events from this endpoint.
URI format
timer:name?options
Where options is a query string that can specify any of the following parameters:
Name |
Default Value |
Description |
---|---|---|
name |
null |
The name of the Timer object which is created and shared across endpoints. So if you use the same name for all your timer endpoints then only one Timer object & thread will be used |
time |
|
The date/time that the (first) event should be generated. |
period |
-1 |
If set to greater than 0, then generate periodic events every period milliseconds |
delay |
-1 |
The number of milliseconds to wait before the first event is generated. Should not be used in conjunction with the time parameter. |
fixedRate |
false |
Events take place at approximately regular intervals, separated by the specified period. |
daemon |
true |
Should the thread associated with the timer endpoint be run as a daemon. |
Using
To setup a route that generates an event every 500 seconds:
from("timer://foo?fixedRate=true&delay=0&period=500").to("bean:myBean?methodName=someMethodName");
The above route will generate an event then invoke the someMethodName on the bean called myBean in the Registry such as JNDI or Spring.