The basic requirements for configuring a poller endpoint are straightforward. You need to supply the following information:
the endpoint's name
the endpoint's service name
the file or directory to be monitored
the ESB endpoint to which the resulting messages will be sent
All of this information is provided using attributes of the poller
element.
All endpoints in the ESB need to have a unique identity. An endpoint's identity is made up of two pieces:
a service name
an endpoint name
Table 2.1 describes the attributes used to identify a poller endpoint.
Table 2.1. Attributes for Identifying a Poller Endpoint
You specify the location the poller endpoint looks for new messages using the poller
element's file
attribute. This attribute takes a URI that identifies a location on the file system.
If you want the endpoint to poll a specific file you use the standard file:
URI. If you do not use the location
file
prefix, the endpoint will assume the URI specifies a directory on the file system and will consume all valid XML files placed in the specified directory.
For example, the URI file:inbox
tells the endpoint to poll for a file called inbox
. The URI inbox
instructs the endpoint to poll the directory inbox
.
![]() | Important |
---|---|
Relative URIs are resolved from the directory in which the FUSE ESB container was started. |
There are a number of attributes available for configuring the endpoint to which the generated messages are sent. The poller endpoint will determine the target endpoint in the following manner:
If you explicitly specify an endpoint using both the targetService
attribute and the targetEndpoint
attribute, the ESB will use that endpoint.
The targetService
attribute specifies the QName of a service deployed into the ESB. The targetEndpoint
attribute specifies the name of an endpoint deployed by the service specified by the targetService
attribute.
If you only specify a value for the targetService
attribute, the ESB will attempt to find an appropriate endpoint on the specified service.
If you do not specify a service name or an endpoint name, you must specify an the name of an interface that can accept the message using the targetInterface
attribute. The ESB will attempt to locate an endpoint that implements the specified interface and direct the messages to it.
Interface names are specified as QNames. They correspond to the value of the name
attribute of either a WSDL 1.1 serviceType
element or a WSDL 2.0 interface
element.
![]() | Important |
---|---|
If you specify values for more than one of the target attributes, the poller endpoint will use the most specific information. |
Example 2.1 shows the configuration for a simple poller endpoint.
Example 2.1. Simple Poller Endpoint
<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="file:inbox/test.xml" /> ... </beans>