Red Hat Training

A Red Hat training course is available for Red Hat Fuse

10.2. Basic configuration

Overview

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.

Identifying the endpoint

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 10.1, “Attributes for identifying a poller endpoint” describes the attributes used to identify a poller endpoint.

Table 10.1. Attributes for identifying a poller endpoint

NameDescription
service Specifies the service name of the endpoint. This value must be a valid QName and does not need to be unique.
endpoint Specifies the name of the endpoint. This value is a simple string. It must be unique among all of the endpoints associated with a given service name.

Specifying the message source

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:location URI. If you do not use the 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 Red Hat JBoss Fuse container was started.

Specifying the target endpoint

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:
  1. 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.
  2. If you only specify a value for the targetService attribute, the NMR will attempt to find an appropriate endpoint on the specified service.
  3. 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.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

Example 10.1, “Simple poller endpoint” shows the configuration for a simple poller endpoint.

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