An inbound endpoint is a message source that can be configured dynamically. In the ESB, when it comes to the existing axis2 based transports, only the HTTP transport works in a multi-tenant mode. Inbound endpoints support all transports to work in a multi-tenant mode and provides improved multi-tenancy as well as cluster coordination.
The behaviour of an inbound endpoint can either be listening, polling or busy waiting based on the protocol.
For detailed information on listening, polling and busy waiting inbound endpoints see the following topics:
For information on how to create a custom inbound endpoint based on your requirement, see Custom Inbound Endpoint.
Following is a sample inbound endpoint configuration:
<inboundEndpoint xmlns="http://ws.apache.org/ns/synapse" name="HttpListenerEP" sequence="TestIn" onError="fault" protocol="http" suspend="false"> <parameters> <parameter name="inbound.http.port">8085</parameter> </parameters> </inboundEndpoint>
In an inbound endpoint configuration, the common inbound endpoint parameters are specified as attributes of the <inboundEndpoint>
element whereas the protocol specific parameters are specified as <parameter>
elements.
Common inbound endpoint parameters
The following parameters are common to all inbound endpoints:
Parameter Name | Description | Required | Possible Values | Default Value |
---|---|---|---|---|
sequential | The behavior when executing the given sequence. When set as true , mediation will happen within the same thread. When set as false , the mediation engine will use the inbound thread pool. (The default thread pool values can be found in the <ESB_HOME>/repository/conf/synapse.properties file). | Yes | true or false | true |
suspend | When set to true , this makes the inbound endpoint inactive. | Yes | true or false | false |
Specifying inbound endpoint parameters as registry values
Other than specifying parameter values inline, you can also specify parameter values as registry entries. The advantage of specifying a parameter value as a registry entry is that the same inbound endpoint configuration can be used in different environments simply by changing the registry entry value.
<inboundEndpoint xmlns="http://ws.apache.org/ns/synapse" name="file" sequence="request" onError="fault" protocol="file" suspend="false"> <parameters> ............... <parameter name="transport.vfs.FileURI" key="conf:/repository/esb/esb-configurations/test"/> ............... </parameters> </inboundEndpoint>
If you need to provide the registry entry value via the Management Console, specify it as $registry:conf:/repository/esb/esb-configurations/test
.