How do I specify time period in a human friendly syntax

Available as of 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");