Merge pull request #90 from garyrussell/INT-2144

Document Socket Timeout Defaults
This commit is contained in:
Mark Fisher
2011-09-26 08:48:33 -04:00

View File

@@ -604,6 +604,34 @@
unless the transformed payload is a <classname>String</classname> or
<classname>byte[]</classname>,
</para>
<para>
<note>
<para>
When a <emphasis>client</emphasis> connection factory is used by
collaborating channel
adapters, the <emphasis>so-timeout</emphasis> attribute defaults
to the default reply timeout (10 seconds). This means that if
no data are received by the inbound adapter for this period of
time, the socket will be closed.
</para>
<para>
This may not be appropriate in a truly asynch environment, or
if you expect the server to take more than 10 seconds to respond
in a request/reply environment.
The timeout can be increased by setting the
<emphasis>so-timeout</emphasis> attribute on the connection
factory.
</para>
<para>
It is not currently possible to set this to an infinite value
(0); the maximum value can be set using a SpEL expression as
follows.
<programlisting>
so-timeout="#{T(java.lang.Integer).MAX_VALUE}"
</programlisting>
</para>
</note>
</para>
</section>
</section>
<section id="note_nio">
@@ -716,24 +744,28 @@
<entry>Y</entry>
<entry>Y</entry>
<entry></entry>
<entry>See <classname>java.net.Socket</classname>
setSoTimeout() methods for more information.</entry>
<entry>Defaults to 0 (infinity), except when the connection
factory is used by collaborating adapters, where it
defaults to the default reply timeout (10 seconds).
See the section about collaborating adapters above
and <classname>java.net.Socket. setSoTimeout()</classname>.
</entry>
</row>
<row>
<entry>so-send-buffer-size</entry>
<entry>Y</entry>
<entry>Y</entry>
<entry></entry>
<entry>See <classname>java.net.Socket</classname>
setSendBufferSize() methods for more information.</entry>
<entry>See <classname>java.net.Socket. setSendBufferSize()</classname>.
</entry>
</row>
<row>
<entry>so-receive-buffer- size</entry>
<entry>Y</entry>
<entry>Y</entry>
<entry></entry>
<entry>See <classname>java.net.Socket</classname>
setReceiveBufferSize() methods for more information.</entry>
<entry>See <classname>java.net.Socket. setReceiveBufferSize()</classname>.
</entry>
</row>
<row>
<entry>so-keep-alive</entry>