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 endpoint to which the resulting messages will be sent
All of this information is provided using attributes of the poller
element.
All endpoints need to have a unique identity. An endpoint's identity is made up of two pieces of information:
a service name
an endpoint name
Table 2.1 describes the attributes used to identify a poller endpoint.
You specify the location in which 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 thetargetEndpoint
attribute, the ESB will use that endpoint.The
targetService
attribute specifies the QName of a service deployed into the ESB. ThetargetEndpoint
attribute specifies the name of an endpoint deployed by the service specified by thetargetService
attribute.If you only specify a value for the
targetService
attribute, the NMR 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 the name of an interface that can accept the message using the
targetInterface
attribute. The NMR 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.1serviceType
element or a WSDL 2.0interface
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>