How do I specify time period in a human friendly syntax?
Since Camel 2.3
Some of the Camel components offers options to specify a time period, which must be entered in milli second as unit. This may be unfriendly to read as a human when the value is large such as 45min = 2700000 millis.
So in Camel 2.3 you can now configure any endpoint uri parameter using a String syntax, which at runtime will get converted to millis (long
type).
You can use the following short syntax, which is most common to use:
Syntax | Unit |
---|---|
h | hour |
m | minute |
s | second |
So for example the Timer endpoint can be configured as follows:
from("timer:foo?period=45m").to("log:foo");
You can mix and match the units so you can do this as well:
from("timer:foo?period=1h15m").to("log:foo");
from("timer:bar?period=2h30s").to("log:bar");
from("timer:bar?period=3h45m58s").to("log:bar");
However you can also use long syntax:
Syntax | Unit |
---|---|
hour or hours | hour |
minute or minutes | minute |
second or seconds | second |
from("timer:foo?period=45minutes").to("log:foo");