source: nutchez-0.1/tomcat/webapps/docs/config/cluster-sender.html @ 186

Last change on this file since 186 was 66, checked in by waue, 16 years ago

NutchEz - an easy way to nutch

File size: 13.3 KB
Line 
1<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Cluster Sender object</title><meta value="Filip Hanik" name="author"><meta value="fhanik@apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
2    The Apache Tomcat Servlet/JSP Container
3  " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>Apache Tomcat 6.0</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>Global Settings</strong></p><ul><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Cluster Sender object</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/cluster-sender.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
4                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
5  <p>
6  The channel sender component is responsible for delivering outgoing cluster messages over the network.
7  In the default implementation, <code>org.apache.catalina.tribes.transport.ReplicationTransmitter</code>,
8  the sender is a fairly empty shell with not much logic around a fairly complex <code>&lt;Transport&gt;</code>
9  component the implements the actual delivery mechanism.
10  </p>
11</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Concurrent Parallel Delivery"><strong>Concurrent Parallel Delivery</strong></a></font></td></tr><tr><td><blockquote>
12  <p>
13  In the default <code>transport</code> implementation, <code>org.apache.catalina.tribes.transport.nio.PooledParallelSender</code>,
14  Apache Tribes implements what we like to call "Concurrent Parallel Delivery".
15  This means that we can send a message to more than one destination at the same time(parallel), and
16  deliver two messages to the same destination at the same time(concurrent). Combine these two and we have
17  "Concurrent Parallel Delivery".
18  </p>
19  <p>
20  When is this useful? The simplest example we can think of is when part of your code is sending a 10MB message,
21  like a war file being deployed, and you need to push through a small 10KB message, say a session being replicated,
22  you don't have to wait for the 10MB message to finish, as a separate thread will push in the small message
23  transmission at the same time. Currently there is no interrupt, pause or priority mechanism avaiable, but check back soon.
24  </p>
25</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nested Elements"><strong>Nested Elements</strong></a></font></td></tr><tr><td><blockquote>
26 <p>
27   The nested element <code>&lt;Transport&gt;</code> is is not required, by encouraged, as this is where
28   you would set all the socket options for the outgoing messages. Please see its attributes below.
29   There are two implementations, in a similar manner to the <a href="cluster-receiver.html">receiver</a>, one is non-blocking
30   based and the other is built using blocking IO. <br>
31   <code>org.apache.catalina.tribes.transport.bio.PooledMultiSender</code> is the blocking implemenation and
32   <code>org.apache.catalina.tribes.transport.nio.PooledParallelSender</code>.
33   Parallel delivery is not available for the blocking implementation due to the fact that it is blocking a thread on sending data.
34 </p>
35</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
36  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Sender Attributes"><strong>Common Sender Attributes</strong></a></font></td></tr><tr><td><blockquote>
37    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
38        Required, only available implementation is <code>org.apache.catalina.tribes.transport.ReplicationTransmitter</code>
39      </td></tr></table>
40  </blockquote></td></tr></table>
41  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Transport Attributes"><strong>Common Transport Attributes</strong></a></font></td></tr><tr><td><blockquote>
42    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
43        Required, an implementation of the <code>org.apache.catalina.tribes.transport.MultiPointSender</code>.<br>
44        Non-blocking implementation is <code>org.apache.catalina.tribes.transport.nio.PooledParallelSender</code><br>
45        Blocking implementation is <code>org.apache.catalina.tribes.transport.bio.PooledMultiSender</code>
46      </td></tr><tr><td valign="center" align="left"><code>rxBufSize</code></td><td valign="center" align="left">
47        The receive buffer size on the socket.
48        Default value is <code>25188</code> bytes.
49      </td></tr><tr><td valign="center" align="left"><code>txBufSize</code></td><td valign="center" align="left">
50       The send buffer size on the socket.
51       Default value is <code>43800</code> bytes.
52      </td></tr><tr><td valign="center" align="left"><code>direct</code></td><td valign="center" align="left">
53       Possible values are <code>true</code> or <code>false</code>.
54       Set to true if you want the receiver to use direct bytebuffers when reading data
55       from the sockets. Default value is <code>false</code>
56      </td></tr><tr><td valign="center" align="left"><code>keepAliveCount</code></td><td valign="center" align="left">
57       The number of requests that can go through the socket before the socket is closed, and reopened
58       for the next request. The default value is <code>-1</code>, which is unlimited.
59      </td></tr><tr><td valign="center" align="left"><code>keepAliveTime</code></td><td valign="center" align="left">
60       The number of milliseconds a connection is kept open after its been opened.
61       The default value is <code>-1</code>, which is unlimited.
62      </td></tr><tr><td valign="center" align="left"><code>timeout</code></td><td valign="center" align="left">
63        Sets the SO_TIMEOUT option on the socket. The value is in milliseconds and the default value is <code>3000</code> 
64        milliseconds.
65      </td></tr><tr><td valign="center" align="left"><code>maxRetryAttempts</code></td><td valign="center" align="left">
66        How many times do we retry a failed message, that received a IOException at the socket level.
67        The default value is <code>1</code>, meaning we will retry a message that has failed once.
68        In other words, we will attempt a message send no more than twice. One is the original send, and one is the
69        <code>maxRetryAttempts</code>.
70      </td></tr><tr><td valign="center" align="left"><code>ooBInline</code></td><td valign="center" align="left">
71        Boolean value for the socket OOBINLINE option. Possible values are <code>true</code> or <code>false</code>.
72      </td></tr><tr><td valign="center" align="left"><code>soKeepAlive</code></td><td valign="center" align="left">
73        Boolean value for the socket SO_KEEPALIVE option. Possible values are <code>true</code> or <code>false</code>.
74      </td></tr><tr><td valign="center" align="left"><code>soLingerOn</code></td><td valign="center" align="left">
75        Boolean value to determine whether to use the SO_LINGER socket option.
76        Possible values are <code>true</code> or <code>false</code>. Default value is <code>true</code>.
77      </td></tr><tr><td valign="center" align="left"><code>soLingerTime</code></td><td valign="center" align="left">
78        Sets the SO_LINGER socket option time value. The value is in seconds.
79        The default value is <code>3</code> seconds.
80      </td></tr><tr><td valign="center" align="left"><code>soReuseAddress</code></td><td valign="center" align="left">
81       Boolean value for the socket SO_REUSEADDR option. Possible values are <code>true</code> or <code>false</code>.
82      </td></tr><tr><td valign="center" align="left"><code>soTrafficClass</code></td><td valign="center" align="left">
83       Sets the traffic class level for the socket, the value is between 0 and 255.
84       Default value is <code>int soTrafficClass = 0x04 | 0x08 | 0x010;</code>
85       Different values are defined in <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/net/Socket.html#setTrafficClass(int)">
86       java.net.Socket#setTrafficClass(int)</a>.
87      </td></tr><tr><td valign="center" align="left"><code>tcpNoDelay</code></td><td valign="center" align="left">
88       Boolean value for the socket TCP_NODELAY option. Possible values are <code>true</code> or <code>false</code>.
89       The default value is <code>true</code>
90      </td></tr><tr><td valign="center" align="left"><code>throwOnFailedAck</code></td><td valign="center" align="left">
91       Boolean value, default value is <code>true</code>.
92       If set to true, the sender will throw a <code>org.apache.catalina.tribes.RemoteProcessException</code>
93       when we receive a negative ack from the remote member.
94       Set to false, and Tribes will treat a positive ack the same way as a negative ack, that the message was received.
95      </td></tr></table>
96  </blockquote></td></tr></table>
97  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="PooledParallelSender Attributes"><strong>PooledParallelSender Attributes</strong></a></font></td></tr><tr><td><blockquote>
98    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>poolSize</code></td><td valign="center" align="left">
99        The maximum number of concurrent connections from A to B.
100        The value is based on a per-destination count.
101        The default value is <code>25</code>
102      </td></tr></table>
103  </blockquote></td></tr></table>
104</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
105        Copyright &copy; 1999-2008, Apache Software Foundation
106        </em></font></div></td></tr></table></body></html>
Note: See TracBrowser for help on using the repository browser.