HTTP-NIO transport is actually a module of the Apache Synapse project. Apache Synapse as well as WSO2 ESB ship the HTTP-NIO transport as the default HTTP transport implementation. The two classes that implement the receiver and sender APIs are org.apache.synapse.transport.nhttp.HttpCoreNIOListener
and org.apache.synapse.transport.nhttp.HttpCoreNIOSender
respectively. These classes are available in the JAR file named synapse-nhttp-transport.jar
. This non-blocking transport implementation is one of the secrets behind the blistering performance figures of Apache Synapse and WSO2 ESB. The transport implementation is based on Apache HTTP Core - NIO and uses a configurable pool of non blocking worker threads to grab incoming HTTP messages off the wire.
Transport Receiver Parameters:
Parameter Name |
Description |
Requried |
Possible Values |
Default Value |
---|---|---|---|---|
port |
The port on which this transport receiver should listen for incoming messages. |
No |
A positive integer less than 65535 |
8280 |
non-blocking |
Setting this parameter to true is vital for reliable messaging and a number of other scenarios to work properly. |
Yes |
true |
|
bind-address |
The address of the interface to which the transport listener should bind. |
No |
A host name or an IP address |
127.0.0.1 |
hostname |
The host name of the server to be displayed in service EPRs, WSDLs etc. This parameter takes effect only when the WSDLEPRPrefix parameter is not set. |
No |
A host name or an IP address |
localhost |
WSDLEPRPrefix |
A URL prefix which will be added to all service EPRs and EPRs in WSDLs etc. |
No |
A URL of the form <protocol>://<hostname>:<port>/ |
|
Transport Sender Parameters
Parameter Name |
Description |
Requried |
Possible Values |
Default Value |
---|---|---|---|---|
http.proxyHost |
If the outgoing messages should be sent through an HTTP proxy server, use this parameter to specify the target proxy. |
No |
A host name or an IP address |
|
http.proxyPort |
The port through which the target proxy accepts HTTP traffic. |
No |
A positive integer less than 65535 |
|
http.nonProxyHosts |
The list of hosts to which the HTTP traffic should be sent directly without going through the proxy. |
No |
A list of host names or IP addresses separated by '|' |
|
non-blocking |
Setting this parameter to true is vital for reliable messaging and a number of other scenarios to work properly. |
Yes |
true |
|