Class UriEndpointMapping

java.lang.Object
org.springframework.context.support.ApplicationObjectSupport
All Implemented Interfaces:
org.springframework.beans.factory.Aware, org.springframework.context.ApplicationContextAware, org.springframework.core.Ordered, EndpointMapping

public class UriEndpointMapping extends AbstractMapBasedEndpointMapping
Implementation of the EndpointMapping interface to map from the full request URI or request URI path to endpoint beans. Supports both mapping to bean instances and mapping to bean names: the latter is required for prototype handlers.

When the usePath property is enabled, the mapping will be based on the URI path rather than the full URI.

The endpointMap property is suitable for populating the endpoint map with bean references, e.g. via the map element in XML bean definitions.

Mappings to bean names can be set via the mappings property, in a form accepted by the java.util.Properties class, like as follows:

 http://example.com:8080/services/bookFlight=bookFlightEndpoint
 jms://exampleQueue=getFlightsEndpoint
 
or, when the usePath property is enabled:
 /services/bookFlight=bookFlightEndpoint
 
The syntax is [URI|PATH]=ENDPOINT_BEAN_NAME.

This endpoint mapping does not read from the request message, and therefore is more suitable for message factories which directly read from the transport request (such as the SaajSoapMessageFactory with the payloadCaching disabled). However, this endpoint mapping obviously is transport specific.

Since:
1.5.0
Author:
Arjen Poutsma