blob: 17d5f98e1b23a55f4dfd5ec1a89bfb98621d363f [file] [log] [blame]
Hongqing Liufd5ee812014-05-10 16:32:51 +08001<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference (6.0.39) - The Channel Interceptor 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></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="
5 The Apache Tomcat Servlet/JSP Container
6 " border="0"></a></td><td><h1><font face="arial,helvetica,sanserif">Apache Tomcat 6.0</font></h1><font face="arial,helvetica,sanserif">Version 6.0.39, Jan 27 2014</font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img src="../images/asf-logo.gif" align="right" alt="Apache Logo" border="0"></a></td></tr></table><table border="0" width="100%" cellspacing="4"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td width="20%" valign="top" nowrap="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></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="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="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>Other</strong></p><ul><li><a href="filter.html">Filter</a></li><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>Apache Tomcat Configuration Reference</h1><h2>The Channel Interceptor object</h2><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>
7<ul><li><a href="#Introduction">Introduction</a></li><li><a href="#Available_Interceptors">Available Interceptors</a></li><li><a href="#Static_Membership">Static Membership</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.interceptors.DomainFilterInterceptor_Attributes">org.apache.catalina.tribes.group.interceptors.DomainFilterInterceptor Attributes</a></li><li><a href="#org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor_Attributes">org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor Attributes</a></li><li><a href="#org.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor_Attributes">org.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor Attributes</a></li><li><a href="#org.apache.catalina.tribes.group.interceptors.TcpFailureDetector_Attributes">org.apache.catalina.tribes.group.interceptors.TcpFailureDetector Attributes</a></li><li><a href="#org.apache.catalina.tribes.group.interceptors.TcpPingInterceptor_Attributes">org.apache.catalina.tribes.group.interceptors.TcpPingInterceptor Attributes</a></li><li><a href="#org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor_Attributes">org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor Attributes</a></li><li><a href="#Nested_element_StaticMember_Attributes">Nested element StaticMember Attributes</a></li></ol></li></ul>
8</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>
9 <p>
10 Apache Tribes supports an interceptor architecture to intercept both messages and membership notifications.
11 This architecture allows decoupling of logic and opens the way for some very kewl feature add ons.
12 </p>
13</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Available Interceptors"><!--()--></a><a name="Available_Interceptors"><strong>Available Interceptors</strong></a></font></td></tr><tr><td><blockquote>
14 <p>
15 <ul>
16 <li><code>org.apache.catalina.tribes.group.interceptors.TcpFailureDetector</code></li>
17 <li><code>org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor</code></li>
18 <li><code>org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor</code></li>
19 <li><code>org.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor</code></li>
20 <li><code>org.apache.catalina.tribes.group.interceptors.NonBlockingCoordinator</code></li>
21 <li><code>org.apache.catalina.tribes.group.interceptors.OrderInterceptor</code></li>
22 <li><code>org.apache.catalina.tribes.group.interceptors.SimpleCoordinator</code></li>
23 <li><code>org.apache.catalina.tribes.group.interceptors.StaticMembershipInterceptor</code></li>
24 <li><code>org.apache.catalina.tribes.group.interceptors.TwoPhaseCommitInterceptor</code></li>
25 <li><code>org.apache.catalina.tribes.group.interceptors.DomainFilterInterceptor</code></li>
26 <li><code>org.apache.catalina.tribes.group.interceptors.FragmentationInterceptor</code></li>
27 <li><code>org.apache.catalina.tribes.group.interceptors.GzipInterceptor</code></li>
28 <li><code>org.apache.catalina.tribes.group.interceptors.TcpPingInterceptor</code></li>
29 </ul>
30 </p>
31</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Static Membership"><!--()--></a><a name="Static_Membership"><strong>Static Membership</strong></a></font></td></tr><tr><td><blockquote>
32 <p>
33 In addition to dynamic discovery, Apache Tribes also supports static membership, with membership verification.
34 To achieve this add the <code>org.apache.catalina.tribes.group.interceptors.StaticMembershipInterceptor</code>
35 underneath the <code>org.apache.catalina.tribes.group.interceptors.TcpFailureDetector</code> interceptor.
36 Inside the <code>StaticMembershipInterceptor</code> you can add the static members you wish to have.
37 The <code>TcpFailureDetector</code> will do a health check on the static members,and also monitor them for crashes
38 so they will have the same level of notification mechanism as the members that are automatically discovered.
39 <div align="left"><table cellspacing="4" cellpadding="0" border="0"><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#ffffff" height="1"><pre>
40 &lt;Interceptor className="org.apache.catalina.tribes.group.interceptors.StaticMembershipInterceptor"&gt;
41 &lt;Member className="org.apache.catalina.tribes.membership.StaticMember"
42 port="5678"
43 securePort="-1"
44 host="tomcat01.mydomain.com"
45 domain="staging-cluster"
46 uniqueId="{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}"/&gt;
47 &lt;/Interceptor&gt;
48
49 </pre></td><td bgcolor="#023264" width="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="../images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr></table></div>
50 </p>
51</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>
52
53 <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>
54 <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>className</code></strong></td><td align="left" valign="center">
55 Required, as there is no default
56 </td></tr><tr><td align="left" valign="center"><code>optionFlag</code></td><td align="left" valign="center">
57 If you want the interceptor to trigger on certain message depending on the message's option flag,
58 you can setup the interceptors flag here.
59 The default value is <code>0</code>, meaning this interceptor will trigger on all messages.
60 </td></tr></table>
61 </blockquote></td></tr></table>
62
63 <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.interceptors.DomainFilterInterceptor Attributes"><!--()--></a><a name="org.apache.catalina.tribes.group.interceptors.DomainFilterInterceptor_Attributes"><strong>org.apache.catalina.tribes.group.interceptors.DomainFilterInterceptor Attributes</strong></a></font></td></tr><tr><td><blockquote>
64 <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>domain</code></strong></td><td align="left" valign="center">
65 The logical cluster domain that this Interceptor accepts.
66 Two different type of values are possible:<br>
67 1. Regular string values like "staging-domain" or "tomcat-cluster" will be converted into bytes
68 using ISO-8859-1 encoding.<br>
69 2. byte array in string form, for example {216,123,12,3}<br>
70 </td></tr></table>
71 </blockquote></td></tr></table>
72 <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.interceptors.MessageDispatch15Interceptor Attributes"><!--()--></a><a name="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor_Attributes"><strong>org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor Attributes</strong></a></font></td></tr><tr><td><blockquote>
73 <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>className</code></strong></td><td align="left" valign="center">
74 Required, This dispatcher uses JDK 1.5 java.util.concurrent package
75 </td></tr><tr><td align="left" valign="center"><code>optionFlag</code></td><td align="left" valign="center">
76 The default and hard coded value is <code>8 (org.apache.catalina.tribes.Channel.SEND_OPTIONS_ASYNCHRONOUS)</code>.
77 The dispatcher will trigger on this value only, as it is predefined by Tribes.
78 The other attributes are inherited from its base class <code>org.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor</code>.
79 </td></tr><tr><td align="left" valign="center"><code>maxThreads</code></td><td align="left" valign="center">
80 The maximum number of threads in this pool, default is 10.
81 </td></tr><tr><td align="left" valign="center"><code>maxSpareThreads</code></td><td align="left" valign="center">
82 The number of threads to keep in the pool, default is 2.
83 </td></tr><tr><td align="left" valign="center"><code>keepAliveTime</code></td><td align="left" valign="center">
84 Maximum number of milliseconds of until Idle thread terminates. Default value is 5000(5 seconds).
85 </td></tr></table>
86 </blockquote></td></tr></table>
87 <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.interceptors.MessageDispatchInterceptor Attributes"><!--()--></a><a name="org.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor_Attributes"><strong>org.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor Attributes</strong></a></font></td></tr><tr><td><blockquote>
88 <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>className</code></strong></td><td align="left" valign="center">
89 Required, Same implementation as <code>MessageDispatch15Interceptor</code>, but with JDK 1.4 compliance.
90 </td></tr><tr><td align="left" valign="center"><code>optionFlag</code></td><td align="left" valign="center">
91 The default and hard coded value is <code>8 (org.apache.catalina.tribes.Channel.SEND_OPTIONS_ASYNCHRONOUS)</code>.
92 The dispatcher will trigger on this value only, as it is predefined by Tribes.
93 </td></tr><tr><td align="left" valign="center"><code>alwaysSend</code></td><td align="left" valign="center">
94 What behavior should be executed when the dispatch queue is full. If <code>true</code> (default), then the message is
95 is sent synchronously, if <code>false</code> an error is thrown.
96 </td></tr><tr><td align="left" valign="center"><code>maxQueueSize</code></td><td align="left" valign="center">
97 Size in bytes of the dispatch queue, the default value is <code> 1024*1024*64 (64MB)</code> sets the maximum queue size for the dispatch queue
98 if the queue fills up, one can trigger the behavior, if <code>alwaysSend</code> is set to true, the message will be sent synchronously
99 if the flag is false, an error is thrown
100 </td></tr></table>
101 </blockquote></td></tr></table>
102 <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.interceptors.TcpFailureDetector Attributes"><!--()--></a><a name="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector_Attributes"><strong>org.apache.catalina.tribes.group.interceptors.TcpFailureDetector Attributes</strong></a></font></td></tr><tr><td><blockquote>
103 <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>connectTimeout</code></td><td align="left" valign="center">
104 Specifies the timeout, in milliseconds, to use when attempting a TCP connection
105 to the suspect node. Default is 1000.
106 </td></tr><tr><td align="left" valign="center"><code>performSendTest</code></td><td align="left" valign="center">
107 If true is set, send a test message to the suspect node. Default is true.
108 </td></tr><tr><td align="left" valign="center"><code>performReadTest</code></td><td align="left" valign="center">
109 If true is set, read the response of the test message that sent. Default is false.
110 <strong>Note: </strong>if <code>performSendTest</code> is false, this attribute will have no effect.
111 </td></tr><tr><td align="left" valign="center"><code>readTestTimeout</code></td><td align="left" valign="center">
112 Specifies the timeout, in milliseconds, to use when performing a read test
113 to the suspicious node. Default is 5000.
114 </td></tr></table>
115 </blockquote></td></tr></table>
116 <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.interceptors.TcpPingInterceptor Attributes"><!--()--></a><a name="org.apache.catalina.tribes.group.interceptors.TcpPingInterceptor_Attributes"><strong>org.apache.catalina.tribes.group.interceptors.TcpPingInterceptor Attributes</strong></a></font></td></tr><tr><td><blockquote>
117 <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>interval</code></td><td align="left" valign="center">
118 If useThread == true, defines the interval of sending a ping message.
119 default is 1000 ms.
120 </td></tr><tr><td align="left" valign="center"><code>useThread</code></td><td align="left" valign="center">
121 Flag of whether to start a thread for sending a ping message.
122 If set to true, this interceptor will start a local thread for sending a ping message.
123 if set to false, channel heartbeat will send a ping message.
124 default is false.
125 </td></tr></table>
126 </blockquote></td></tr></table>
127 <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.interceptors.ThroughputInterceptor Attributes"><!--()--></a><a name="org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor_Attributes"><strong>org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor Attributes</strong></a></font></td></tr><tr><td><blockquote>
128 <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>interval</code></td><td align="left" valign="center">
129 Defines the interval in number of messages when we are to report the throughput statistics.
130 The report is logged to the <code>org.apache.juli.logging.LogFactory.getLog(ThroughputInterceptor.class)</code>
131 logger under the <code>INFO</code> level.
132 Default value is to report every <code>10000</code> messages.
133 </td></tr></table>
134 </blockquote></td></tr></table>
135
136 <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Nested element StaticMember Attributes"><!--()--></a><a name="Nested_element_StaticMember_Attributes"><strong>Nested element StaticMember Attributes</strong></a></font></td></tr><tr><td><blockquote>
137 <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>className</code></strong></td><td align="left" valign="center">
138 Only one implementation available:<code>org.apache.catalina.tribes.membership.StaticMember</code>
139 </td></tr><tr><td align="left" valign="center"><strong><code>port</code></strong></td><td align="left" valign="center">
140 The port that this static member listens to for cluster messages
141 </td></tr><tr><td align="left" valign="center"><code>securePort</code></td><td align="left" valign="center">
142 The secure port this static member listens to for encrypted cluster messages
143 default value is <code>-1</code>, this value means the member is not listening on a secure port
144 </td></tr><tr><td align="left" valign="center"><strong><code>host</code></strong></td><td align="left" valign="center">
145 The host (or network interface) that this static member listens for cluster messages.
146 Three different type of values are possible:<br>
147 1. IP address in the form of "216.123.1.23"<br>
148 2. Hostnames like "tomcat01.mydomain.com" or "tomcat01" as long as they resolve correctly<br>
149 3. byte array in string form, for example {216,123,12,3}<br>
150 </td></tr><tr><td align="left" valign="center"><strong><code>domain</code></strong></td><td align="left" valign="center">
151 The logical cluster domain for this this static member listens for cluster messages.
152 Two different type of values are possible:<br>
153 1. Regular string values like "staging-domain" or "tomcat-cluster" will be converted into bytes
154 using ISO-8859-1 encoding.
155 2. byte array in string form, for example {216,123,12,3}<br>
156 </td></tr><tr><td align="left" valign="center"><strong><code>uniqueId</code></strong></td><td align="left" valign="center">
157 A universally uniqueId for this static member.
158 The values must be 16 bytes in the following form:<br>
159 1. byte array in string form, for example {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}<br>
160 </td></tr></table>
161 </blockquote></td></tr></table>
162
163
164</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font color="#525D76" size="-1"><em>
165 Copyright &copy; 1999-2014, Apache Software Foundation
166 </em></font></div></td></tr></table></body></html>