INT-1279 Doc Changes for New Adapters/Gateways, Remove Old
This commit is contained in:
@@ -20,32 +20,29 @@
|
||||
by joining to a multicast address.
|
||||
</para>
|
||||
<para>
|
||||
TCP inbound and outbound adapters are provided <classname>TcptSendingMessageHandler</classname>
|
||||
sends messages over TCP. <classname>TcpNetReceivingChannelAdapter</classname> receives messages over TCP.
|
||||
<tip>The adapters are no longer configured with connection options directly; instead, they are given
|
||||
TCP inbound and outbound adapters are provided <classname>TcpSendingMessageHandler</classname>
|
||||
sends messages over TCP. <classname>TcpReceivingChannelAdapter</classname> receives messages over TCP.
|
||||
<tip>If you have been using an earlier 2.0 milestone, note that the adapters are no longer configured
|
||||
with connection options directly; instead, they are given
|
||||
a reference to a connection factory. See below.</tip>
|
||||
</para>
|
||||
<para>
|
||||
A simple inbound TCP gateway is provided; this allows for simple request/response processing. While
|
||||
An inbound TCP gateway is provided; this allows for simple request/response processing. While
|
||||
the gateway can support any number of connections, each connection can only process serially. The thread
|
||||
that reads from the socket waits for, and sends, the response before reading again.
|
||||
that reads from the socket waits for, and sends, the response before reading again. If the connection factory
|
||||
is configured for single use connections, the connection is closed after the socket times out.
|
||||
</para>
|
||||
<para>
|
||||
A simple outbound TCP gateway is provided; this allows for simple request/response processing. Each
|
||||
request is processed serially. The calling thread blocks on the socket until either a response is received
|
||||
or an I/O error occurs. Requests are single-threaded over the socket.
|
||||
</para>
|
||||
<para>
|
||||
<tip>The gateways have not yet been converted to use the stand-alone tcp connection factories. If you are
|
||||
using the gateways, you should configure them as before (legacy documentation remains below).
|
||||
The gateways will be converted shortly.</tip>
|
||||
An outbound TCP gateway is provided; this allows for simple request/response processing.
|
||||
If the associated connection factory is configured for single use connections, a new connection is
|
||||
immediately created for each new request. Otherwise, if the connection is in use,
|
||||
the calling thread blocks on the connection until either a response is received or an I/O error occurs.
|
||||
</para>
|
||||
</section>
|
||||
<section id="udp-adapters">
|
||||
<title>UDP Adapters</title>
|
||||
<para>
|
||||
<programlisting language="xml"><![CDATA[ <ip:outbound-channel-adapter id="udpOut"
|
||||
protocol="udp"
|
||||
<programlisting language="xml"><![CDATA[ <ip:udp-outbound-channel-adapter id="udpOut"
|
||||
host="somehost"
|
||||
port="11111"
|
||||
multicast="false"
|
||||
@@ -63,8 +60,7 @@
|
||||
short the contain the packet, the packet can be truncated. The length header provides a mechanism to detect this.
|
||||
</para>
|
||||
<para>
|
||||
<programlisting language="xml"><![CDATA[ <ip:outbound-channel-adapter id="udpOut"
|
||||
protocol="udp"
|
||||
<programlisting language="xml"><![CDATA[ <ip:udp-outbound-channel-adapter id="udpOut"
|
||||
host="somehost"
|
||||
port="11111"
|
||||
multicast="false"
|
||||
@@ -82,8 +78,7 @@
|
||||
must send an acknowledgment to the sender within a specified time.
|
||||
</para>
|
||||
<para>
|
||||
<programlisting language="xml"><![CDATA[ <ip:outbound-channel-adapter id="udpOut"
|
||||
protocol="udp"
|
||||
<programlisting language="xml"><![CDATA[ <ip:udp-outbound-channel-adapter id="udpOut"
|
||||
host="somehost"
|
||||
port="11111"
|
||||
multicast="false"
|
||||
@@ -108,9 +103,8 @@
|
||||
For even more reliable networking, TCP can be used.
|
||||
</para>
|
||||
<para>
|
||||
<programlisting language="xml"><![CDATA[ <ip:inbound-channel-adapter id="udpReceiver"
|
||||
<programlisting language="xml"><![CDATA[ <ip:udp-inbound-channel-adapter id="udpReceiver"
|
||||
channel="udpOutChannel"
|
||||
protocol="udp"
|
||||
port="11111"
|
||||
receive-buffer-size="500"
|
||||
multicast="false"
|
||||
@@ -118,9 +112,8 @@
|
||||
A basic unicast inbound udp channel adapter.
|
||||
</para>
|
||||
<para>
|
||||
<programlisting language="xml"><![CDATA[ <ip:inbound-channel-adapter id="udpReceiver"
|
||||
<programlisting language="xml"><![CDATA[ <ip:udp-inbound-channel-adapter id="udpReceiver"
|
||||
channel="udpOutChannel"
|
||||
protocol="udp"
|
||||
port="11111"
|
||||
receive-buffer-size="500"
|
||||
multicast="true"
|
||||
@@ -256,6 +249,12 @@
|
||||
the other direction will use the default converter.
|
||||
</tip>
|
||||
</para>
|
||||
<para>
|
||||
Connection factories can be configured with a reference to a
|
||||
<classname>TcpConnectionInterceptorFactoryChain</classname>. Interceptors can be used
|
||||
to add behavior to connections, such as negotiation, security, and other setup.
|
||||
Further documentation to follow.
|
||||
</para>
|
||||
<para>
|
||||
For a full reference of the attributes available on connection factories, see the
|
||||
reference at the end of this section.
|
||||
@@ -330,118 +329,31 @@
|
||||
'inboundClient' and deposited in channel 'replies'.
|
||||
</para>
|
||||
</section>
|
||||
<section id="legacy-tcp-adapters">
|
||||
<title>TCP Adapters - Legacy - These Adapters Will be Removed Before 2.0 GA</title>
|
||||
<para>
|
||||
<tip>These adapters have been replaced with the adapters above please migrate
|
||||
to the new configuration; these adapters will not be available in GA</tip>
|
||||
Two versions of TCP inbound and outbound channel adapters are provided; these adapters
|
||||
use either java.net.Socket IO, or java.nio.channels.SocketChannel IO. The choice of which
|
||||
to use depends on the application. The TcpNet* adapters use java.net.Socket and the TcpNio*
|
||||
adapters use java.nio.channels.ChannelSocket. It is not anticipated that much difference in
|
||||
performance, if any, would exist between these technologies on the outbound side. This is
|
||||
because each outbound adapter sends data over only one socket. On the receiving side
|
||||
however, consideration should be given to the number of connections. For the
|
||||
<classname>TcpNetReceivingChannelAdapter</classname> a thread is dedicated to receiving
|
||||
data on each connected socket; the pool size must therefore be set large enough to handle
|
||||
the expected number of connections. For the <classname>TcpNioReceivingChannelAdapter</classname>
|
||||
threads are used on an as-needed basis and it is likely that many fewer threads would be
|
||||
needed. If a small number of connections is expected, we expect that the the TcpNetReceivingChannelAdapter
|
||||
will give the best performance. For large number of connections, the TcpNioReceivingChannelAdapter will
|
||||
likely give the best performance. In addition, the TcpNioReceivingChannelAdapter provides an
|
||||
attribute <classname>using-direct-buffers</classname> which attempts to use direct buffers. See
|
||||
<classname>java.nio.ByteBuffer</classname> for more information about direct buffers.
|
||||
<tip>
|
||||
It is not expected that direct buffers will offer much, if any, performance difference. You
|
||||
should experiment with the use of TcpNxx* adapters, and direct buffers when using TcpNio*
|
||||
adapters to determine the best performance in your environment.
|
||||
</tip>
|
||||
</para>
|
||||
<para>
|
||||
TCP is a streaming protocol; this means that some structure has to be provided to data
|
||||
transported over TCP, so the receiver can demarcate the data into discrete messages.
|
||||
Four standard message formats are provided for this purpose; you can also provide code
|
||||
for your own custom format. The first of the four standard formats is 'length-header', in which case a 4 byte
|
||||
length header precedes the data; this is the default. The second is 'stx-etx' in which the message
|
||||
data is preceded by an STX (0x02) character and terminated with an ETX (0x03) character.
|
||||
The third is 'crlf' in which the message is terminated with a carriage return and line feed
|
||||
(\r\n). These three formats require a byte array or String payload outbound endpoints; inbound
|
||||
endpoints produce messages with byte array payloads. The fourth format is 'serialized' wherby
|
||||
standard java serialization is used; payloads must implement <classname>Serializable</classname>.
|
||||
For the simple formats, the first (the default) is likely to be the most performant. This is because
|
||||
we can determine exactly how many bytes to read to obtain the complete message. The other
|
||||
two formats require examining each byte to determine if the end of the message has been
|
||||
received. The length-header format can also handle binary data. The other two formats can only handle
|
||||
text data (specifcally, data that does not contain characters 0x02 and 0x03 for stx-etx and
|
||||
0x0d and 0x0a for crlf). This limitation can be avoided by appropriate character escaping techniques
|
||||
in the application layer. No such escaping is provided by the adapters; therefore it is not recommened
|
||||
that these formats be used without some transformation if the data may contain these characters.
|
||||
</para>
|
||||
<para>
|
||||
<programlisting language="xml"><![CDATA[ <ip:outbound-channel-adapter id="tcpOut"
|
||||
channel="inChannel"
|
||||
protocol="tcp"
|
||||
host="somehost"
|
||||
port="11111"
|
||||
message-format="length-header"
|
||||
using-nio="true"
|
||||
using-direct-buffers="false"
|
||||
so-keep-alive="true"
|
||||
so-timeout="10000"
|
||||
/>]]></programlisting>
|
||||
A basic outbound tcp channel adapter. This adapter uses java.nio.channels.SocketChannel.
|
||||
To use a java.net.Socket, set <classname>using-nio</classname> to false and
|
||||
<classname>using-direct-buffers</classname> is not relevant.
|
||||
</para>
|
||||
<para>
|
||||
<programlisting language="xml"><![CDATA[ <ip:inbound-channel-adapter id="tcp1"
|
||||
channel="channel"
|
||||
protocol="tcp"
|
||||
port="11111"
|
||||
message-format="length-header"
|
||||
using-nio="true"
|
||||
using-direct-buffers="false"
|
||||
pool-size="2"
|
||||
so-keep-alive="true"
|
||||
so-timeout="10000"
|
||||
/>]]></programlisting>
|
||||
A basic inbound tcp channel adapter. This adapter uses java.nio.channels.SocketChannel.
|
||||
To use a java.net.Socket, set <classname>using-nio</classname> to false and
|
||||
<classname>using-direct-buffers</classname> is not relevant.
|
||||
</para>
|
||||
</section>
|
||||
<section id="tcp-gateways">
|
||||
<title>TCP Gateways</title>
|
||||
<para>
|
||||
The simple inbound TCP gateway <classname>SimpleTcpNetInboundGateway</classname>
|
||||
and simple oubound TCP gateway <classname>SimpleTcpNetOutboundGateway</classname>
|
||||
use <classname>java.net.Socket</classname> for communications. Each connection
|
||||
The inbound TCP gateway <classname>TcpInboundGateway</classname>
|
||||
and oubound TCP gateway <classname>TcpOutboundGateway</classname>
|
||||
use a server and client connection factory respectively. Each connection
|
||||
can process a single request/response at a time.
|
||||
</para>
|
||||
<para>
|
||||
The inbound gateway delegates to a subclass of the <classname>TcpNetReceivingChannelAdapter</classname>
|
||||
described above, so please read that section for more information. After
|
||||
constructing a message with the incoming payload and sending
|
||||
After constructing a message with the incoming payload and sending
|
||||
it to the requestChannel, it waits for a response and sends the payload
|
||||
from the response message by writing it to the socket, using the same
|
||||
message format configured for the incoming message.
|
||||
from the response message by writing it to the connection.
|
||||
</para>
|
||||
<para>
|
||||
The outbound gateway delegates to a <classname>TcpNetSendingMessageHandler</classname>
|
||||
described above, so please read that section for more information. After
|
||||
sending a message over the socket, the thread waits for a response and
|
||||
constructs a response message with a byte[] payload The incoming
|
||||
response is decoded using the same
|
||||
message format configured for the outgoing message. Communications over
|
||||
the socket are single-threaded. Users should be aware that only one
|
||||
After sending a message over the connection, the thread waits for a response and
|
||||
constructs a response message
|
||||
Communications over the connections are single-threaded. Users should be aware that only one
|
||||
message can be handled at a time and if another thread attempts to send
|
||||
a message before the current response has been received, it will block. Only
|
||||
when the inprocess message receives a response (or times out based on the
|
||||
socket timeout option) will it proceed. If an error occurs while reading the
|
||||
response, the socket will be closed, regardless of the close attribute.
|
||||
a message before the current response has been received, it will block until
|
||||
any previous requests are complete (or time out).
|
||||
If, however, the client connection factory is configured for single-use connections
|
||||
each new request gets its own connection and is processed immediately.
|
||||
</para>
|
||||
<para>
|
||||
<programlisting language="xml"><![CDATA[ <ip:inbound-gateway id="gatewayCrLf"
|
||||
<programlisting language="xml"><![CDATA[ <ip:tcp-inbound-gateway id="gatewayCrLf"
|
||||
port="1234"
|
||||
request-channel="someChannel"
|
||||
message-format="crlf"
|
||||
@@ -450,7 +362,7 @@
|
||||
used by a simple client such as telnet.
|
||||
</para>
|
||||
<para>
|
||||
<programlisting language="xml"><![CDATA[ <ip:outbound-gateway id="simpleOutGateway"
|
||||
<programlisting language="xml"><![CDATA[ <ip:tcp-outbound-gateway id="simpleOutGateway"
|
||||
request-channel="tcpChannel"
|
||||
message-format="crlf"
|
||||
host="localhost"
|
||||
@@ -613,69 +525,55 @@
|
||||
However, pool-size is also used for the server socket backlog,
|
||||
regardless of whether an external task executor is used. Defaults to 5.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>interceptor-factory-chain</entry>
|
||||
<entry>Y</entry>
|
||||
<entry>Y</entry>
|
||||
<entry></entry>
|
||||
<entry>Documentation to be supplied.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
<table id="ip-ob-adapter-attributes">
|
||||
<title>Legacy IP Outbound Channel Adapter Attributes</title>
|
||||
<title>UDP Outbound Channel Adapter Attributes</title>
|
||||
<tgroup cols="5">
|
||||
<colspec align="left" />
|
||||
<colspec colnum="1" colname="col1" colwidth="1*"/>
|
||||
<colspec colnum="2" colname="col2" colwidth="0.3*" align="center"/>
|
||||
<colspec colnum="3" colname="col3" colwidth="0.3*" align="center"/>
|
||||
<colspec colnum="4" colname="col4" colwidth="1*"/>
|
||||
<colspec colnum="5" colname="col5" colwidth="2*"/>
|
||||
<colspec colnum="2" colname="col4" colwidth="1*"/>
|
||||
<colspec colnum="3" colname="col5" colwidth="2*"/>
|
||||
<thead>
|
||||
<row>
|
||||
<entry align="center">Attribute Name</entry>
|
||||
<entry align="center">TCP?</entry>
|
||||
<entry align="center">UDP?</entry>
|
||||
<entry align="center">Allowed Values</entry>
|
||||
<entry align="center">Attribute Description</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>protocol</entry>
|
||||
<entry>Y</entry>
|
||||
<entry>Y</entry>
|
||||
<entry>tcp, udp</entry>
|
||||
<entry>Determines whether the adapter uses TCP or UDP, over IP.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>host</entry>
|
||||
<entry>Y</entry>
|
||||
<entry>Y</entry>
|
||||
<entry></entry>
|
||||
<entry>The host name or ip address of the destination. For multicast udp
|
||||
adapters, the multicast address.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>port</entry>
|
||||
<entry>Y</entry>
|
||||
<entry>Y</entry>
|
||||
<entry></entry>
|
||||
<entry>The port on the destination.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>multicast</entry>
|
||||
<entry>N</entry>
|
||||
<entry>Y</entry>
|
||||
<entry>true, false</entry>
|
||||
<entry>Whether or not the udp adapter uses multicast.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>acknowledge</entry>
|
||||
<entry>N</entry>
|
||||
<entry>Y</entry>
|
||||
<entry>true, false</entry>
|
||||
<entry>Whether or not a udp adapter requires an acknowledgment from the destination.
|
||||
when enabled, requires setting the following 4 attributes.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>ack-host</entry>
|
||||
<entry>N</entry>
|
||||
<entry>Y</entry>
|
||||
<entry></entry>
|
||||
<entry>When acknowledge is true, indicates the host or ip address to which the
|
||||
acknowledgment should be sent. Usually the current host, but may be
|
||||
@@ -684,8 +582,6 @@
|
||||
</row>
|
||||
<row>
|
||||
<entry>ack-port</entry>
|
||||
<entry>N</entry>
|
||||
<entry>Y</entry>
|
||||
<entry></entry>
|
||||
<entry>When acknowledge is true, indicates the port to which the
|
||||
acknowledgment should be sent. The adapter listens on this port for
|
||||
@@ -693,8 +589,6 @@
|
||||
</row>
|
||||
<row>
|
||||
<entry>ack-timeout</entry>
|
||||
<entry>N</entry>
|
||||
<entry>Y</entry>
|
||||
<entry></entry>
|
||||
<entry>When acknowledge is true, indicates the time in milliseconds that the
|
||||
adapter will wait for an acknowlegment. If an acknowlegment is not
|
||||
@@ -702,118 +596,42 @@
|
||||
</row>
|
||||
<row>
|
||||
<entry>min-acks-for- success</entry>
|
||||
<entry>N</entry>
|
||||
<entry>Y</entry>
|
||||
<entry></entry>
|
||||
<entry>Defaults to 1. For multicast adapters, you can set this to a larger
|
||||
value, requiring acknowlegments from multiple destinations.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>check-length</entry>
|
||||
<entry>N</entry>
|
||||
<entry>Y</entry>
|
||||
<entry>true, false</entry>
|
||||
<entry>Whether or not a udp adapter includes a data length field in the
|
||||
packet sent to the destination.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>time-to-live</entry>
|
||||
<entry>N</entry>
|
||||
<entry>Y</entry>
|
||||
<entry></entry>
|
||||
<entry>For multicast adapters, specifies the time to live attribute for
|
||||
the <classname>MulticastSocket</classname>; controls the scope
|
||||
of the multicasts. Refer to the Java API
|
||||
documentation for more information.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>using-nio</entry>
|
||||
<entry>Y</entry>
|
||||
<entry>N</entry>
|
||||
<entry>true, false</entry>
|
||||
<entry>Whether or not the tcp adapter is using NIO. Refer to the java.nio
|
||||
package for more information.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>using-direct-buffers</entry>
|
||||
<entry>Y</entry>
|
||||
<entry>N</entry>
|
||||
<entry>true, false</entry>
|
||||
<entry>When using NIO, whether or not the tcp adapter uses direct buffers.
|
||||
Refer to <classname>java.nio.ByteBuffer</classname> documentation for
|
||||
more information.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>message-format</entry>
|
||||
<entry>Y</entry>
|
||||
<entry>N</entry>
|
||||
<entry>length-header, stx-etx, crlf, serialized, custom</entry>
|
||||
<entry>The formatting that the tcp adapter uses so the receiver can demarcate
|
||||
messages. Defaults to length-header.
|
||||
See the discussion above for details about each format.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>custom-socket- writer-class-name</entry>
|
||||
<entry>Y</entry>
|
||||
<entry>N</entry>
|
||||
<entry>Subclass of TcpNetSocket- Writer or TcpNioSocket- Writer</entry>
|
||||
<entry>When message-format is 'custom' the name of the class that
|
||||
implements the custom format. Must be a subclass of the NxxSocketWriter,
|
||||
depending on whether using-nio is false or true.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>so-timeout</entry>
|
||||
<entry>Y</entry>
|
||||
<entry>Y</entry>
|
||||
<entry></entry>
|
||||
<entry>See <classname>java.net.Socket</classname> and <classname>java.net.DatagramSocket</classname>
|
||||
<entry>See <classname>java.net.DatagramSocket</classname>
|
||||
setSoTimeout() methods for more information.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>so-send-buffer-size</entry>
|
||||
<entry>Y</entry>
|
||||
<entry>Y</entry>
|
||||
<entry></entry>
|
||||
<entry>See <classname>java.net.Socket</classname> and <classname>java.net.DatagramSocket</classname>
|
||||
<entry>See <classname>java.net.DatagramSocket</classname>
|
||||
setSendBufferSize() methods for more information.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>so-receive-buffer- size</entry>
|
||||
<entry>N</entry>
|
||||
<entry>Y</entry>
|
||||
<entry></entry>
|
||||
<entry>Used for udp acknowlegment packets. See <classname>java.net.DatagramSocket</classname>
|
||||
setReceiveBufferSize() methods for more information.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>so-keep-alive</entry>
|
||||
<entry>Y</entry>
|
||||
<entry>N</entry>
|
||||
<entry>true, false</entry>
|
||||
<entry>See <classname>java.net.Socket. setKeepAlive()</classname>.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>so-linger</entry>
|
||||
<entry>Y</entry>
|
||||
<entry>N</entry>
|
||||
<entry></entry>
|
||||
<entry>Sets linger to true with supplied value.
|
||||
See <classname>java.net.Socket. setSoLinger()</classname>.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>so-tcp-no-delay</entry>
|
||||
<entry>Y</entry>
|
||||
<entry>N</entry>
|
||||
<entry>true, false</entry>
|
||||
<entry>See <classname>java.net.Socket. setTcpNoDelay()</classname>.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>so-traffic-class</entry>
|
||||
<entry>Y</entry>
|
||||
<entry>N</entry>
|
||||
<entry></entry>
|
||||
<entry>See <classname>java.net.Socket. setTrafficClass()</classname>.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>local-address</entry>
|
||||
<entry>N</entry>
|
||||
@@ -822,13 +640,10 @@
|
||||
<entry>On a multi-homed system, for the UDP adapter, specifies an IP address
|
||||
for the interface to which the socket will be bound for reply messages.
|
||||
For a multicast adapter it is also used to determine which interface
|
||||
the multicast packets will be sent over. Not applicable to the TCP
|
||||
adapter.</entry>
|
||||
the multicast packets will be sent over.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>task-executor</entry>
|
||||
<entry>N</entry>
|
||||
<entry>Y</entry>
|
||||
<entry></entry>
|
||||
<entry>
|
||||
Specifies a specific Executor to be used for acknowledgment handling. If not supplied, an internal
|
||||
@@ -840,144 +655,75 @@
|
||||
</tgroup>
|
||||
</table>
|
||||
<table id="ip-ib-adapter-attributes">
|
||||
<title>Legacy IP Inbound Channel Adapter Attributes</title>
|
||||
<title>UDP Inbound Channel Adapter Attributes</title>
|
||||
<tgroup cols="5">
|
||||
<colspec align="left" />
|
||||
<colspec colnum="1" colname="col1" colwidth="1*"/>
|
||||
<colspec colnum="2" colname="col2" colwidth="0.3*" align="center"/>
|
||||
<colspec colnum="3" colname="col3" colwidth="0.3*" align="center"/>
|
||||
<colspec colnum="4" colname="col4" colwidth="1*"/>
|
||||
<colspec colnum="5" colname="col5" colwidth="2*"/>
|
||||
<colspec colnum="2" colname="col4" colwidth="1*"/>
|
||||
<colspec colnum="3" colname="col5" colwidth="2*"/>
|
||||
<thead>
|
||||
<row>
|
||||
<entry align="center">Attribute Name</entry>
|
||||
<entry align="center">TCP?</entry>
|
||||
<entry align="center">UDP?</entry>
|
||||
<entry align="center">Allowed Values</entry>
|
||||
<entry align="center">Attribute Description</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>protocol</entry>
|
||||
<entry>Y</entry>
|
||||
<entry>Y</entry>
|
||||
<entry>tcp, udp</entry>
|
||||
<entry>Determines whether the adapter uses TCP or UDP, over IP.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>port</entry>
|
||||
<entry>Y</entry>
|
||||
<entry>Y</entry>
|
||||
<entry></entry>
|
||||
<entry>The port on which the adapter listens.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>multicast</entry>
|
||||
<entry>N</entry>
|
||||
<entry>Y</entry>
|
||||
<entry>true, false</entry>
|
||||
<entry>Whether or not the udp adapter uses multicast.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>multicast-address</entry>
|
||||
<entry>N</entry>
|
||||
<entry>Y</entry>
|
||||
<entry></entry>
|
||||
<entry>When multicast is true, the multicast address to which the adapter
|
||||
joins.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>pool-size</entry>
|
||||
<entry>Y</entry>
|
||||
<entry>Y</entry>
|
||||
<entry></entry>
|
||||
<entry>Specifies the concurrency. For udp, specifies how many packets can
|
||||
be handled concurrently. For tcp, not using nio, specifies the
|
||||
number of concurrent connections supported by the adapter. For tcp,
|
||||
using nio, specifies the number of tcp fragments that are concurrently
|
||||
reassembled into complete messages.
|
||||
It only applies in this sense if task-executor is not configured.
|
||||
However, pool-size is also used for the server socket backlog,
|
||||
regardless of whether an external task executor is used. Defaults to 5.</entry>
|
||||
<entry>Specifies the concurrency. Specifies how many packets can
|
||||
be handled concurrently.
|
||||
It only applies if task-executor is not configured.
|
||||
Defaults to 5.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>task-executor</entry>
|
||||
<entry>Y</entry>
|
||||
<entry>Y</entry>
|
||||
<entry></entry>
|
||||
<entry>
|
||||
Specifies a specific Executor to be used for socket handling. If not supplied, an internal
|
||||
pooled executor will be used. Needed on some platforms that require the use of specific
|
||||
task executors such as a WorkManagerTaskExecutor. See pool-size for thread
|
||||
requirements, depending on other options.</entry>
|
||||
requirements.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>receive-buffer-size</entry>
|
||||
<entry>Y</entry>
|
||||
<entry>Y</entry>
|
||||
<entry></entry>
|
||||
<entry>For udp, the size of the buffer used to receive DatagramPackets.
|
||||
<entry>The size of the buffer used to receive DatagramPackets.
|
||||
Usually set to the MTU size. If a smaller buffer is used than the
|
||||
size of the sent packet, truncation can occur. This can be detected
|
||||
by means of the check-length attribute.For tcp, the size of the
|
||||
buffer used to reassemble incoming messages. Effectively the maximum
|
||||
message size that can be received.</entry>
|
||||
by means of the check-length attribute..</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>check-length</entry>
|
||||
<entry>N</entry>
|
||||
<entry>Y</entry>
|
||||
<entry>true, false</entry>
|
||||
<entry>Whether or not a udp adapter expects a data length field in the
|
||||
packet received. Used to detect packet truncation.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>using-nio</entry>
|
||||
<entry>Y</entry>
|
||||
<entry>N</entry>
|
||||
<entry>true, false</entry>
|
||||
<entry>Whether or not the tcp adapter is using NIO. Refer to the java.nio
|
||||
package for more information.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>using-direct-buffers</entry>
|
||||
<entry>Y</entry>
|
||||
<entry>N</entry>
|
||||
<entry>true, false</entry>
|
||||
<entry>When using NIO, whether or not the tcp adapter uses direct buffers.
|
||||
Refer to java.nio.ByteBuffer documentation for more information.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>message-format</entry>
|
||||
<entry>Y</entry>
|
||||
<entry>N</entry>
|
||||
<entry>length-header, stx-etx, crlf, serialized, custom</entry>
|
||||
<entry>The formatting that the tcp adapter uses so the adapter can demarcate
|
||||
messages. Defaults to length-header.
|
||||
See the discussion above for details about each format.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>custom-socket- reader-class-name</entry>
|
||||
<entry>Y</entry>
|
||||
<entry>N</entry>
|
||||
<entry>Subclass of TcpNetSocket- Reader or TcpNioSocket- Reader</entry>
|
||||
<entry>When message-format is 'custom' the name of the class that
|
||||
implements the custom format. Must be a subclass of the NxxSocketReader,
|
||||
depending on whether using-nio is false or true.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>so-timeout</entry>
|
||||
<entry>Y</entry>
|
||||
<entry>Y</entry>
|
||||
<entry></entry>
|
||||
<entry>See <classname>java.net.Socket</classname> and <classname>java.net.DatagramSocket</classname>
|
||||
<entry>See <classname>java.net.DatagramSocket</classname>
|
||||
setSoTimeout() methods for more information.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>so-send-buffer-size</entry>
|
||||
<entry>N</entry>
|
||||
<entry>Y</entry>
|
||||
<entry></entry>
|
||||
<entry>Used for udp acknowlegment packets. See <classname>java.net.DatagramSocket</classname>
|
||||
setSendBufferSize() methods for more information.</entry>
|
||||
@@ -987,32 +733,15 @@
|
||||
<entry>Y</entry>
|
||||
<entry>Y</entry>
|
||||
<entry></entry>
|
||||
<entry>See <classname>java.net.Socket</classname> and <classname>java.net.DatagramSocket</classname>
|
||||
<entry>See <classname>java.net.DatagramSocket</classname>
|
||||
setReceiveBufferSize() for more information.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>so-keep-alive</entry>
|
||||
<entry>Y</entry>
|
||||
<entry>N</entry>
|
||||
<entry>true, false</entry>
|
||||
<entry>See <classname>java.net.Socket. setKeepAlive()</classname>.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>local-address</entry>
|
||||
<entry>Y</entry>
|
||||
<entry>Y</entry>
|
||||
<entry></entry>
|
||||
<entry>On a multi-homed system, specifies an IP address
|
||||
for the interface to which the socket will be bound.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>close</entry>
|
||||
<entry>Y</entry>
|
||||
<entry>N</entry>
|
||||
<entry></entry>
|
||||
<entry>If set to true, instructs the adapter to close the socket
|
||||
after receiving a message. Defaults to false.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
@@ -1036,87 +765,6 @@
|
||||
<entry></entry>
|
||||
<entry>The port on which the gateway listens.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>pool-size</entry>
|
||||
<entry></entry>
|
||||
<entry>Specifies the number of concurrent connections supported
|
||||
by the gateway. A thread from the pool is used to handle each socket.
|
||||
It only applies in this sense if task-executor is not configured.
|
||||
However, pool-size is also used for the server socket backlog,
|
||||
regardless of whether an external task executor is used. Defaults to 5.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>task-executor</entry>
|
||||
<entry></entry>
|
||||
<entry>
|
||||
Specifies a specific Executor to be used for socket handling. If not supplied, an internal
|
||||
pooled executor will be used. Needed on some platforms that require the use of specific
|
||||
task executors such as a WorkManagerTaskExecutor. See pool-size for thread
|
||||
requirements.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>receive-buffer-size</entry>
|
||||
<entry></entry>
|
||||
<entry>The size of the
|
||||
buffer used to reassemble incoming messages. Effectively the maximum
|
||||
message size that can be received.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>message-format</entry>
|
||||
<entry>length-header, stx-etx, crlf, serialized, custom</entry>
|
||||
<entry>The formatting that the tcp gateway uses for demarcating
|
||||
incoming requests and formatting responses. Defaults to length-header.
|
||||
See the discussion above for details about each format.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>custom-socket- reader-class-name</entry>
|
||||
<entry>Subclass of TcpNetSocket- Reader</entry>
|
||||
<entry>When message-format is 'custom' the name of the class that
|
||||
implements the custom format. Must be a subclass of the
|
||||
TcpNetSocketReader.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>custom-socket- writer-class-name</entry>
|
||||
<entry>Subclass of TcpNetSocket- Writer</entry>
|
||||
<entry>When message-format is 'custom' the name of the class that
|
||||
implements the custom format. Must be a subclass of the
|
||||
TcpNetSocketWriter.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>so-timeout</entry>
|
||||
<entry></entry>
|
||||
<entry>See <classname>java.net.Socket</classname>
|
||||
setSoTimeout() for more information.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>so-send-buffer-size</entry>
|
||||
<entry></entry>
|
||||
<entry>See <classname>java.net.Socket</classname>
|
||||
setSendBufferSize() methods for more information.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>so-receive-buffer- size</entry>
|
||||
<entry></entry>
|
||||
<entry>See <classname>java.net.Socket</classname>
|
||||
setReceiveBufferSize() for more information.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>so-keep-alive</entry>
|
||||
<entry>true, false</entry>
|
||||
<entry>See <classname>java.net.Socket. setKeepAlive()</classname>.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>local-address</entry>
|
||||
<entry></entry>
|
||||
<entry>On a multi-homed system, specifies an IP address
|
||||
for the interface to which the socket will be bound.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>close</entry>
|
||||
<entry></entry>
|
||||
<entry>If set to true, instructs the gateway to close the socket
|
||||
after sending the reply to a message. Defaults to false.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
@@ -1140,69 +788,6 @@
|
||||
<entry></entry>
|
||||
<entry>The host name or ip address of the destination.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>port</entry>
|
||||
<entry></entry>
|
||||
<entry>The port to which the gateway connects.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>receive-buffer-size</entry>
|
||||
<entry></entry>
|
||||
<entry>The size of the
|
||||
buffer used to reassemble incoming messages. Effectively the maximum
|
||||
message size that can be received.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>message-format</entry>
|
||||
<entry>length-header, stx-etx, crlf, serialized, custom</entry>
|
||||
<entry>The formatting that the tcp gateway uses for formating
|
||||
requests and demarcating
|
||||
incoming responses. Defaults to length-header.
|
||||
See the discussion above for details about each format.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>custom-socket- reader-class-name</entry>
|
||||
<entry>Subclass of TcpNetSocket- Reader</entry>
|
||||
<entry>When message-format is 'custom' the name of the class that
|
||||
implements the custom format. Must be a subclass of the
|
||||
TcpNetSocketReader.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>custom-socket- writer-class-name</entry>
|
||||
<entry>Subclass of TcpNetSocket- Writer</entry>
|
||||
<entry>When message-format is 'custom' the name of the class that
|
||||
implements the custom format. Must be a subclass of the
|
||||
TcpNetSocketWriter.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>so-timeout</entry>
|
||||
<entry></entry>
|
||||
<entry>See <classname>java.net.Socket</classname>
|
||||
setSoTimeout() for more information.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>so-send-buffer-size</entry>
|
||||
<entry></entry>
|
||||
<entry>See <classname>java.net.Socket</classname>
|
||||
setSendBufferSize() methods for more information.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>so-receive-buffer- size</entry>
|
||||
<entry></entry>
|
||||
<entry>See <classname>java.net.Socket</classname>
|
||||
setReceiveBufferSize() for more information.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>so-keep-alive</entry>
|
||||
<entry>true, false</entry>
|
||||
<entry>See <classname>java.net.Socket. setKeepAlive()</classname>.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>close</entry>
|
||||
<entry></entry>
|
||||
<entry>If set to true, instructs the adapter to close the socket
|
||||
after receiving the reply to a message. Defaults to false.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
|
||||
Reference in New Issue
Block a user