blob: 415ff5dd672cff5e703451085b7565330736f319 [file] [log] [blame]
刘洪青6266f992017-05-15 21:21:03 +08001<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 7 Configuration Reference (7.0.77) - The Cluster Channel object</title><meta name="author" content="Filip Hanik"><style type="text/css" media="print">
2 .noPrint {display: none;}
3 td#mainBody {width: 100%;}
4</style><style type="text/css">
5code {background-color:rgb(224,255,255);padding:0 0.1em;}
6code.attributeName, code.propertyName {background-color:transparent;}
7
8
9table {
10 border-collapse: collapse;
11 text-align: left;
12}
13table *:not(table) {
14 /* Prevent border-collapsing for table child elements like <div> */
15 border-collapse: separate;
16}
17
18th {
19 text-align: left;
20}
21
22
23div.codeBox pre code, code.attributeName, code.propertyName, code.noHighlight, .noHighlight code {
24 background-color: transparent;
25}
26div.codeBox {
27 overflow: auto;
28 margin: 1em 0;
29}
30div.codeBox pre {
31 margin: 0;
32 padding: 4px;
33 border: 1px solid #999;
34 border-radius: 5px;
35 background-color: #eff8ff;
36 display: table; /* To prevent <pre>s from taking the complete available width. */
37 /*
38 When it is officially supported, use the following CSS instead of display: table
39 to prevent big <pre>s from exceeding the browser window:
40 max-width: available;
41 width: min-content;
42 */
43}
44
45div.codeBox pre.wrap {
46 white-space: pre-wrap;
47}
48
49
50table.defaultTable tr, table.detail-table tr {
51 border: 1px solid #CCC;
52}
53
54table.defaultTable tr:nth-child(even), table.detail-table tr:nth-child(even) {
55 background-color: #FAFBFF;
56}
57
58table.defaultTable tr:nth-child(odd), table.detail-table tr:nth-child(odd) {
59 background-color: #EEEFFF;
60}
61
62table.defaultTable th, table.detail-table th {
63 background-color: #88b;
64 color: #fff;
65}
66
67table.defaultTable th, table.defaultTable td, table.detail-table th, table.detail-table td {
68 padding: 5px 8px;
69}
70
71
72p.notice {
73 border: 1px solid rgb(255, 0, 0);
74 background-color: rgb(238, 238, 238);
75 color: rgb(0, 51, 102);
76 padding: 0.5em;
77 margin: 1em 2em 1em 1em;
78}
79</style></head><body bgcolor="#ffffff" text="#000000" link="#525D76" alink="#525D76" vlink="#525D76"><table border="0" width="100%" cellspacing="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img src="../images/tomcat.gif" align="right" alt="
Hongqing Liufd5ee812014-05-10 16:32:51 +080080 The Apache Tomcat Servlet/JSP Container
刘洪青6266f992017-05-15 21:21:03 +080081 " border="0"></a></td><td><h1><font face="arial,helvetica,sanserif">Apache Tomcat 7</font></h1><font face="arial,helvetica,sanserif">Version 7.0.77, Mar 28 2017</font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img src="../images/asf-logo.svg" align="right" alt="Apache Logo" border="0" style="width: 266px;height: 83px;"></a></td></tr></table><table border="0" width="100%" cellspacing="4"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr noshade size="1"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td width="20%" valign="top" nowrap class="noPrint"><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><li><a href="http://wiki.apache.org/tomcat/FAQ">FAQ</a></li><li><a href="#comments_section">User Comments</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="jar-scanner.html">JarScanner</a></li><li><a href="listeners.html">Listeners</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="sessionidgenerator.html">SessionIdGenerator</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>web.xml</strong></p><ul><li><a href="filter.html">Filter</a></li></ul><p><strong>Other</strong></p><ul><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td width="80%" valign="top" align="left" id="mainBody"><h1>The Cluster Channel object</h1><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Table of Contents"><!--()--></a><a name="Table_of_Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>
82<ul><li><a href="#Introduction">Introduction</a></li><li><a href="#Nested_Components">Nested Components</a></li><li><a href="#Attributes">Attributes</a><ol><li><a href="#Common_Attributes">Common Attributes</a></li><li><a href="#org.apache.catalina.tribes.group.GroupChannel_Attributes">org.apache.catalina.tribes.group.GroupChannel Attributes</a></li></ol></li></ul>
Hongqing Liufd5ee812014-05-10 16:32:51 +080083</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
84 The cluster channel is the main component of a small framework we've nicknamed Apache Tribes.<br>
85 The channel manages a set of sub components and together they create a group communication framework.<br>
86 This framework is then used internally by the components that need to send messages between different Tomcat instances.
87 <br>
88 A few examples of these components would be the SimpleTcpCluster that does the messaging for the DeltaManager,
刘洪青6266f992017-05-15 21:21:03 +080089 or the BackupManager that uses a different replication strategy. The ReplicatedContext object does also
Hongqing Liufd5ee812014-05-10 16:32:51 +080090 use the channel object to communicate context attribute changes.
91</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Nested Components"><!--()--></a><a name="Nested_Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>
92 <p><b><a href="cluster-membership.html">Channel/Membership</a>:</b> <br>
93 The Membership component is responsible for auto discovering new nodes in the cluster
94 and also to provide for notifications for any nodes that have not responded with a heartbeat.
95 The default implementation uses multicast.<br>
刘洪青6266f992017-05-15 21:21:03 +080096 In the membership component you configure how your nodes, aka. members, are to be discovered and/or
97 divided up.
Hongqing Liufd5ee812014-05-10 16:32:51 +080098 You can always find out more about <a href="../tribes/introduction.html">Apache Tribes</a>
99 </p>
100 <p><b><a href="cluster-sender.html">Channel/Sender</a>:</b> <br>
刘洪青6266f992017-05-15 21:21:03 +0800101 The Sender component manages all outbound connections and data messages that are sent
Hongqing Liufd5ee812014-05-10 16:32:51 +0800102 over the network from one node to another.
103 This component allows messages to be sent in parallel.
104 The default implementation uses TCP client sockets, and socket tuning for outgoing messages are
105 configured here.<br>
106 You can always find out more about <a href="../tribes/introduction.html">Apache Tribes</a>
107 </p>
108 <p><b><a href="cluster-sender.html#transport">Channel/Sender/Transport</a>:</b> <br>
109 The Transport component is the bottom IO layer for the sender component.
110 The default implementation uses non-blocking TCP client sockets.<br>
111 You can always find out more about <a href="../tribes/introduction.html">Apache Tribes</a>
112 </p>
113 <p><b><a href="cluster-receiver.html">Channel/Receiver</a>:</b> <br>
114 The receiver component listens for messages from other nodes.
115 Here you will configure the cluster thread pool, as it will dispatch incoming
116 messages to a thread pool for faster processing.
117 The default implementation uses non-blocking TCP server sockets.<br>
118 You can always find out more about <a href="../tribes/introduction.html">Apache Tribes</a>
119 </p>
120 <p><b><a href="cluster-interceptor.html">Channel/Interceptor</a>:</b> <br>
刘洪青6266f992017-05-15 21:21:03 +0800121 The channel will send messages through an interceptor stack. Because of this, you have the ability to
Hongqing Liufd5ee812014-05-10 16:32:51 +0800122 customize the way messages are sent and received, and even how membership is handled.<br>
123 You can always find out more about <a href="../tribes/introduction.html">Apache Tribes</a>
124 </p>
125</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
126
127 <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Common Attributes"><!--()--></a><a name="Common_Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
128
刘洪青6266f992017-05-15 21:21:03 +0800129 <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><strong><code class="attributeName">className</code></strong></td><td align="left" valign="center">
Hongqing Liufd5ee812014-05-10 16:32:51 +0800130 The default value here is <code>org.apache.catalina.tribes.group.GroupChannel</code> and is
131 currently the only implementation available.
132 </td></tr></table>
133
134
135 </blockquote></td></tr></table>
136
刘洪青6266f992017-05-15 21:21:03 +0800137 <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="org.apache.catalina.tribes.group.GroupChannel Attributes"><!--()--></a><a name="org.apache.catalina.tribes.group.GroupChannel_Attributes"><strong>org.apache.catalina.tribes.group.GroupChannel Attributes</strong></a></font></td></tr><tr><td><blockquote>
Hongqing Liufd5ee812014-05-10 16:32:51 +0800138
刘洪青6266f992017-05-15 21:21:03 +0800139 <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code class="attributeName">heartbeat</code></td><td align="left" valign="center">
140 Flag whether the channel manages its own heartbeat.
141 If set to true, the channel start a local thread for the heart beat.
142 If set this flag to false, you must set SimpleTcpCluster#heartbeatBackgroundEnabled
143 to true. default value is true.
144 </td></tr><tr><td align="left" valign="center"><code class="attributeName">heartbeatSleeptime</code></td><td align="left" valign="center">
145 If heartbeat == true, specifies the interval of heartbeat thread in milliseconds.
146 The default is 5000 (5 seconds).
147 </td></tr><tr><td align="left" valign="center"><code class="attributeName">optionCheck</code></td><td align="left" valign="center">
148 If set to true, the GroupChannel will check the option flags that each
149 interceptor is using. Reports an error if two interceptor share the same
150 flag. The default is false.
151 </td></tr></table>
152
153 </blockquote></td></tr></table>
154
155</blockquote></td></tr></table></td></tr><tr class="noPrint"><td width="20%" valign="top" nowrap class="noPrint"></td><td width="80%" valign="top" align="left"><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="comments_section" id="comments_section"><strong>Comments</strong></a></font></td></tr><tr><td><blockquote><p class="notice"><strong>Notice: </strong>This comments section collects your suggestions
156 on improving documentation for Apache Tomcat.<br><br>
157 If you have trouble and need help, read
158 <a href="http://tomcat.apache.org/findhelp.html">Find Help</a> page
159 and ask your question on the tomcat-users
160 <a href="http://tomcat.apache.org/lists.html">mailing list</a>.
161 Do not ask such questions here. This is not a Q&amp;A section.<br><br>
162 The Apache Comments System is explained <a href="../comments.html">here</a>.
163 Comments may be removed by our moderators if they are either
164 implemented or considered invalid/off-topic.</p><script type="text/javascript"><!--//--><![CDATA[//><!--
165 var comments_shortname = 'tomcat';
166 var comments_identifier = 'http://tomcat.apache.org/tomcat-7.0-doc/config/cluster-channel.html';
167 (function(w, d) {
168 if (w.location.hostname.toLowerCase() == "tomcat.apache.org") {
169 d.write('<div id="comments_thread"><\/div>');
170 var s = d.createElement('script');
171 s.type = 'text/javascript';
172 s.async = true;
173 s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
174 (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
175 }
176 else {
177 d.write('<div id="comments_thread"><strong>Comments are disabled for this page at the moment.<\/strong><\/div>');
178 }
179 })(window, document);
180 //--><!]]></script></blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr noshade size="1"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font color="#525D76" size="-1"><em>
181 Copyright &copy; 1999-2017, Apache Software Foundation
Hongqing Liufd5ee812014-05-10 16:32:51 +0800182 </em></font></div></td></tr></table></body></html>