Red Hat Training

A Red Hat training course is available for Red Hat Fuse

10.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 10.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 10.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 10.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 10.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 10.7, “Poller Endpoint with a thirty second polling interval” shows the configuration for a poller endpoint that uses a thirty second polling interval.

Example 10.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>