2.4. Configuring the Polling Interval
Overview
A default poller endpoint provides limited scheduling facilities. You can configure when the endpoint starts polling and the interval between polling attempts.
Scheduling the first poll
By default, poller endpoints begin polling as soon as they are started. You can control when a poller endpoint first attempts to poll the file system using an attribute that controls the date of the first polling attempt.
You specify a date for the first poll using the endpoint's
firstTime
attribute. The firstTime
attribute specifies a date using the standard xsd:date format of YYYY-MM-DD
. For example, you would specify April 1, 2025 as 2025-04-01
. The first polling attempt will be made at 00:00:00 GMT on the specified date.
Note
If you schedule the first polling attempt in the past, the endpoint will begin polling immediately.
Example 2.5, “Poller endpoint with a scheduled start time” shows the configuration for a poller endpoint that starts polling at 1am GMT on April 1, 2010.
Example 2.5. Poller endpoint with a scheduled start time
<beans xmlns:file="http://servicemix.apache.org/file/1.0"
xmlns:foo="http://servicemix.org/demo/">
<file:poller service="foo:filePoller"
endpoint="filePoller"
targetService="foo:fileSender"
file="inbox"
firstTime="2010-04-01" />
...
</beans>
Delaying the first poll
In addition to controlling the specific date on which polling will start, you can also specify how long to delay the first polling attempt. The delay is specified using the endpoint's
delay
attribute which specifies the delay interval in milliseconds.
Note
If you have specified a date for the first polling attempt, the delay will be added to the date to determine when to make the first polling attempt.
Example 2.6, “Poller endpoint with a delayed start time” shows the configuration for a poller endpoint that begins polling five minutes after it is started.
Example 2.6. Poller endpoint with a delayed start time
<beans xmlns:file="http://servicemix.apache.org/file/1.0"
xmlns:foo="http://servicemix.org/demo/">
<file:poller service="foo:filePoller"
endpoint="filePoller"
targetService="foo:fileSender"
file="inbox"
delay="300000" />
...
</beans>
Configuring the polling interval
By default, poller endpoints poll the file system every five seconds. You can configure the polling interval by providing a value for the endpoint's
period
attribute. The period
attribute specifies the number of milliseconds the endpoint waits between polling attempts.
Example 2.7, “Poller Endpoint with a thirty second polling interval” shows the configuration for a poller endpoint that uses a thirty second polling interval.
Example 2.7. Poller Endpoint with a thirty second polling interval
<beans xmlns:file="http://servicemix.apache.org/file/1.0"
xmlns:foo="http://servicemix.org/demo/">
<file:poller service="foo:filePoller"
endpoint="filePoller"
targetService="foo:fileSender"
file="inbox"
period="30000" />
...
</beans>