Author: ron.sigal(a)jboss.com
Date: 2011-05-06 00:56:09 -0400 (Fri, 06 May 2011)
New Revision: 6365
Modified:
remoting2/branches/2.x/docs/userguide/en/chap7.xml
Log:
JBREM-1283: Added discusssion of configurable parameters.
Modified: remoting2/branches/2.x/docs/userguide/en/chap7.xml
===================================================================
--- remoting2/branches/2.x/docs/userguide/en/chap7.xml 2011-05-06 03:20:46 UTC (rev 6364)
+++ remoting2/branches/2.x/docs/userguide/en/chap7.xml 2011-05-06 04:56:09 UTC (rev 6365)
@@ -35,9 +35,8 @@
<classname>javax.net.ssl.SSLSocket</classname>s and
<classname>javax.net.ssl.SSLServerSocket</classname>s
instead of <classname>Socket</classname>s and
<classname>ServerSocket</classname>s.
</para>
+ </section>
- </section>
-
<section>
<title>servlet and sslservlet transports</title>
<para>
@@ -82,10 +81,95 @@
</web-app>
</programlisting>
+ </section>
+ <section>
+ <title>Server side parameters: http and https transports</title>
+
+ <para>In general, parameters passed to a
<classname>CoyoteInvoker</classname> are
+ passed to the underlying Tomcat implementation. For example, the Tomcat attribute
"maxThreads"
+ can be used to set the maximum number of threads to be used to accept incoming http
requests.
+ However, the Remoting attributes "serverBindAddress" and
"serverBindPort" should be used instead
+ of the Tomcat attributes "address" and "port". For more
information on the configuration attributes
+ available for the Tomcat connectors, please refer to <ulink
+
url="http://tomcat.apache.org/tomcat-6.0-doc/config/http.html"&...;.
+ </para>
+
+ <para><classname>CoyoteInvoker</classname> can also configure an
instance of
+ <classname>org.apache.catalina.Executor</classname>, an interface which
extends
+ <classname>java.util.concurrent.Executor</classname>. If the parameter
"executor" is
+ associated with a comma separated list of key=value pairs,
<classname>CoyoteInvoker</classname>
+ will parse the list, use the resulting <classname>Map</classname> to
configure an instance of
+ <classname>org.apache.catalina.core.StandardThreadExecutor</classname>,
and inject it into the
+ underlying Tomcat implementation. For example, JBoss Messaging's
<code>remoting-http-service.xml</code>
+ configuration file could contain</para>
+
+ <programlisting><attribute
name="executor">minSpareThreads=20,maxThreads=100</attribute></programlisting>
+
+ <para>Note that if an executor is injected, the other threadpool related
+ attributes such as "maxThreads", which would otherwise be applied to a
threadpool created by Tomcat, are ignored.
+ The configurable attributes of the
<classname>StandardThreadExecutor</classname> are described in <ulink
+
url="http://tomcat.apache.org/tomcat-6.0-doc/config/executor.html&qu...;.
+ </para>
+ </section>
+
+ <section>
+ <title>Server side parameters: servlet and sslservlet transports</title>
+
+ <para>The following parameter may be used to configure
+ an instance of <classname></classname>ServletServerInvoker:</para>
+
+ <para><emphasis
role="bold">unwrapSingletonArrays</emphasis> - key indicating if, when
+
<methodname>javax.servlet.http.HttpServletRequest.getParameterMap()</methodname>
returns a
+ map containing pairs of the form (key, value) where value has the form
+ <classname>java.lang.String[]</classname> with length 1, the pair should
be replaced with a
+ pair (key, ((String[] value)[0]). The default value is
"false".</para>
</section>
+
+ <section>
+ <title>Client side parameters: http, https, servlet, sslservlet
transports</title>
+
+ <para>The following parameters may be used to configure
+ an instance of
<classname>org.jboss.remoting.transport.http.HTTPClientInvoker</classname>:</para>
+
+ <para><emphasis role="bold">disconnectAfterUse</emphasis>
- key indicating if the
+ <classname>java.net.HttpURLConnection</classname> should be disconnected
after the invocation.
+ The default value is "false".</para>
+
+ <para><emphasis
role="bold">ignoreErrorResponseMessage</emphasis> - key indicating
+ if <classname>HTTPClientInvoker</classname>
+ should try to get a response message and response code in the event of an exception.
+ The default value is "false".</para>
+
+ <para> <emphasis
role="bold">numberOfCallAttempts</emphasis> - This parameter is
relevant only on the
+ client side, where it determines the maximum number of attempts that
+ will be made to complete an invocation. The default value is 1.</para>
+ <para><emphasis role="bold">unmarshalNullStream</emphasis>
- key indicating if
+ <classname>HTTPClientInvoker</classname>
+ should make the call to <methodname>UnMarshaller.read()</methodname> when
+ the <classname>InputStream</classname> is null. The default value is
"true".</para>
+ </section>
+
<section>
+ <title>Client side parameters: https and sslservlet transports</title>
+
+ <para>The following parameters may be used to configure
+ an instance of <classname>HTTPSClientInvoker</classname>:</para>
+
+ <para><emphasis
role="bold">org.jboss.security.ignoreHttpsHost</emphasis> - key
indicating if
+ <classname>HTTPSClientInvoker</classname> should ignore host name
+ verification, i.e., it will not check for a mismatch between the URL's hostname
and the server's
+ hostname during handshaking. By default, standard hostname
+ verification will be performed.</para>
+
+ <para><emphasis role="bold">hostnameVerifier</emphasis> -
key indicating the hostname verifier that should be
+ used by <classname>HTTPSClientInvoker</classname>. The value should be the
fully qualified
+ classname of a class that implements
<classname>javax.net.ssl.HostnameVerifier</classname> and has
+ a void constructor.</para>
+ </section>
+
+ <section>
<title>JBoss Messaging, http transports, and callbacks</title>
<para>Unlike the bisocket transport, which was designed especially to allow push
callbacks without