Author: pero Date: Fri Mar 28 15:30:51 2008 New Revision: 642411 URL: http://svn.apache.org/viewvc?rev=642411&view=rev Log: update tomcat 6 example
Modified: tomcat/sandbox/tomcat-oacc/trunk/etc/cluster-server.xml Modified: tomcat/sandbox/tomcat-oacc/trunk/etc/cluster-server.xml URL: http://svn.apache.org/viewvc/tomcat/sandbox/tomcat-oacc/trunk/etc/cluster-server.xml?rev=642411&r1=642410&r2=642411&view=diff ============================================================================== --- tomcat/sandbox/tomcat-oacc/trunk/etc/cluster-server.xml (original) +++ tomcat/sandbox/tomcat-oacc/trunk/etc/cluster-server.xml Fri Mar 28 15:30:51 2008 @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="UTF-8"?> +<?xml version='1.0' encoding='utf-8'?> <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with @@ -15,371 +15,53 @@ See the License for the specific language governing permissions and limitations under the License. --> -<!-- Example Server Configuration File - Search for Cluster--> -<!-- Note that component elements are nested corresponding to their - parent-child relationships with each other --> +<Server port="8005" shutdown="SHUTDOWN"> -<!-- A "Server" is a singleton element that represents the entire JVM, - which may contain one or more "Service" instances. The Server - listens for a shutdown command on the indicated port. + <Listener className="org.apache.catalina.core.JasperListener" /> - Note: A "Server" is not itself a "Container", so you may not - define subcomponents such as "Valves" or "Loggers" at this level. - --> - -<Server port="8005" shutdown="SHUTDOWN" debug="0"> - - - <!-- Comment these entries out to disable JMX MBeans support --> - <!-- You may also configure custom components (e.g. Valves/Realms) by - including your own mbean-descriptor file(s), and setting the - "descriptors" attribute to point to a ';' seperated list of paths - (in the ClassLoader sense) of files to add to the default list. - e.g. descriptors="/com/myfirm/mypackage/mbean-descriptor.xml" - --> - <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" - debug="0"/> - <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" - debug="0"/> - - <!-- Global JNDI resources --> <GlobalNamingResources> - - <!-- Test entry for demonstration purposes --> - <Environment name="simpleValue" type="java.lang.Integer" value="30"/> - - <!-- Editable user database that can also be used by - UserDatabaseRealm to authenticate users --> <Resource name="UserDatabase" auth="Container" type="org.apache.catalina.UserDatabase" - description="User database that can be updated and saved"> - </Resource> - <ResourceParams name="UserDatabase"> - <parameter> - <name>factory</name> - <value>org.apache.catalina.users.MemoryUserDatabaseFactory</value> - </parameter> - <parameter> - <name>pathname</name> - <value>conf/tomcat-users.xml</value> - </parameter> - </ResourceParams> - + description="User database that can be updated and saved" + factory="org.apache.catalina.users.MemoryUserDatabaseFactory" + pathname="conf/tomcat-users.xml" + readonly="true" /> </GlobalNamingResources> - <!-- A "Service" is a collection of one or more "Connectors" that share - a single "Container" (and therefore the web applications visible - within that Container). Normally, that Container is an "Engine", - but this is not required. - - Note: A "Service" is not itself a "Container", so you may not - define subcomponents such as "Valves" or "Loggers" at this level. - --> - - <!-- Define the Tomcat Stand-Alone Service --> - <Service name="Tomcat-Standalone"> - - <!-- A "Connector" represents an endpoint by which requests are received - and responses are returned. Each Connector passes requests on to the - associated "Container" (normally an Engine) for processing. - - By default, a non-SSL HTTP/1.1 Connector is established on port 8080. - You can also enable an SSL HTTP/1.1 Connector on port 8443 by - following the instructions below and uncommenting the second Connector - entry. SSL support requires the following steps (see the SSL Config - HOWTO in the Tomcat 5 documentation bundle for more detailed - instructions): - * If your JDK version 1.3 or prior, download and install JSSE 1.0.2 or - later, and put the JAR files into "$JAVA_HOME/jre/lib/ext". - * Execute: - %JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA (Windows) - $JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA (Unix) - with a password value of "changeit" for both the certificate and - the keystore itself. - - By default, DNS lookups are enabled when a web application calls - request.getRemoteHost(). This can have an adverse impact on - performance, so you can disable it by setting the - "enableLookups" attribute to "false". When DNS lookups are disabled, - request.getRemoteHost() will return the String version of the - IP address of the remote client. - --> - - <!-- Define a non-SSL Coyote HTTP/1.1 Connector on port 8080 --> - <Connector className="org.apache.coyote.tomcat5.CoyoteConnector" - port="8080" minProcessors="5" maxProcessors="100" - enableLookups="true" redirectPort="8443" acceptCount="100" - debug="0" connectionTimeout="20000" - disableUploadTimeout="true" /> - <!-- Note : To disable connection timeouts, set connectionTimeout value - to -1 --> - - <!-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 --> - <!-- - <Connector className="org.apache.coyote.tomcat5.CoyoteConnector" - port="8443" minProcessors="5" maxProcessors="75" - enableLookups="true" disableUploadTimeout="true" - acceptCount="100" debug="0" scheme="https" secure="true"> - <Factory className="org.apache.coyote.tomcat5.CoyoteServerSocketFactory" - clientAuth="false" protocol="TLS" /> - </Connector> - --> - - <!-- Define a Coyote/JK2 AJP 1.3 Connector on port 8009 --> - <Connector className="org.apache.coyote.tomcat5.CoyoteConnector" - port="8009" minProcessors="5" maxProcessors="75" - enableLookups="true" redirectPort="8443" - acceptCount="10" debug="0" - protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"/> - - <!-- Define a Proxied HTTP/1.1 Connector on port 8082 --> - <!-- See proxy documentation for more information about using this. --> - <!-- - <Connector className="org.apache.coyote.tomcat5.CoyoteConnector" - port="8082" minProcessors="5" maxProcessors="75" - enableLookups="true" - acceptCount="100" debug="0" connectionTimeout="20000" - proxyPort="80" disableUploadTimeout="true" /> - --> - - <!-- An Engine represents the entry point (within Catalina) that processes - every request. The Engine implementation for Tomcat stand alone - analyzes the HTTP headers included with the request, and passes them - on to the appropriate Host (virtual host). --> - - <!-- You should set jvmRoute to support load-balancing via JK/JK2 ie : - <Engine name="Standalone" defaultHost="localhost" debug="0" jmvRoute="jvm1"> - --> - - <!-- Define the top level container in our container hierarchy --> - <Engine name="Standalone" defaultHost="localhost" debug="0"> - - <!-- The request dumper valve dumps useful debugging information about - the request headers and cookies that were received, and the response - headers and cookies that were sent, for all requests received by - this instance of Tomcat. If you care only about requests to a - particular virtual host, or a particular application, nest this - element inside the corresponding <Host> or <Context> entry instead. - - For a similar mechanism that is portable to all Servlet 2.4 - containers, check out the "RequestDumperFilter" Filter in the - example application (the source for this filter may be found in - "$CATALINA_HOME/webapps/examples/WEB-INF/classes/filters"). - - Request dumping is disabled by default. Uncomment the following - element to enable it. --> - <!-- - <Valve className="org.apache.catalina.valves.RequestDumperValve"/> - --> - - <!-- Global logger unless overridden at lower levels --> - <Logger className="org.apache.catalina.logger.FileLogger" - prefix="catalina_log." suffix=".txt" - timestamp="true"/> - - <!-- Because this Realm is here, an instance will be shared globally --> - - <!-- This Realm uses the UserDatabase configured in the global JNDI - resources under the key "UserDatabase". Any edits - that are performed against this UserDatabase are immediately - available for use by the Realm. --> + <Service name="Catalina"> + <Connector port="8080" protocol="HTTP/1.1" + connectionTimeout="20000" + redirectPort="8443" /> + <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> + + <Engine name="Catalina" defaultHost="localhost" jvmRoute="node01"> + + <!--For clustering, please take a look at documentation at: + docs/oacc-howto.html --> + + <Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster" + receiver.tcpListenPort="8004" + doClusterLog="true" + clusterLogName="clusterlog" > + <Membership + className="org.apache.catalina.cluster.membership.McastService" + mcastAddr="228.0.0.4" + mcastClusterDomain="d10" + mcastPort="8007" + mcastFrequency="1000" + mcastDropTime="30000"/> + </Cluster> <Realm className="org.apache.catalina.realm.UserDatabaseRealm" - debug="0" resourceName="UserDatabase"/> - - <!-- Comment out the old realm but leave here for now in case we - need to go back quickly --> - <!-- - <Realm className="org.apache.catalina.realm.MemoryRealm" /> - --> - - <!-- Replace the above Realm with one of the following to get a Realm - stored in a database and accessed via JDBC --> - - <!-- - <Realm className="org.apache.catalina.realm.JDBCRealm" debug="99" - driverName="org.gjt.mm.mysql.Driver" - connectionURL="jdbc:mysql://localhost/authority" - connectionName="test" connectionPassword="test" - userTable="users" userNameCol="user_name" userCredCol="user_pass" - userRoleTable="user_roles" roleNameCol="role_name" /> - --> - - <!-- - <Realm className="org.apache.catalina.realm.JDBCRealm" debug="99" - driverName="oracle.jdbc.driver.OracleDriver" - connectionURL="jdbc:oracle:thin:@ntserver:1521:ORCL" - connectionName="scott" connectionPassword="tiger" - userTable="users" userNameCol="user_name" userCredCol="user_pass" - userRoleTable="user_roles" roleNameCol="role_name" /> - --> - - <!-- - <Realm className="org.apache.catalina.realm.JDBCRealm" debug="99" - driverName="sun.jdbc.odbc.JdbcOdbcDriver" - connectionURL="jdbc:odbc:CATALINA" - userTable="users" userNameCol="user_name" userCredCol="user_pass" - userRoleTable="user_roles" roleNameCol="role_name" /> - --> - - <!-- Define the default virtual host --> - <Host name="localhost" debug="0" appBase="webapps" - unpackWARs="true" autoDeploy="true"> - - - <!-- Defines a cluster for this node, - By defining this element, means that every manager will be changed. - So when running a cluster, only make sure that you have webapps in there - that need to be clustered and remove the other ones. - A cluster has the following parameters: - - className = the fully qualified name of the cluster class - - name = a descriptive name for your cluster, can be anything - - debug = the debug level, higher means more output - - mcastAddr = the multicast address, has to be the same for all the nodes - - mcastPort = the multicast port, has to be the same for all the nodes - - mcastFrequency = the number of milliseconds in between sending a "I'm alive" heartbeat - - mcastDropTime = the number a milliseconds before a node is considered "dead" if no heartbeat is received - - tcpThreadCount = the number of threads to handle incoming replication requests, optimal would be the same amount of threads as nodes - - tcpListenAddress = the listen address (bind address) for TCP cluster request on this host, - in case of multiple ethernet cards. - auto means that address becomes - InetAddress.getLocalHost().getHostAddress() - - tcpListenPort = the tcp listen port - - tcpSelectorTimeout = the timeout (ms) for the Selector.select() method in case the OS - has a wakup bug in java.nio. Set to 0 for no timeout - - printToScreen = true means that managers will also print to std.out - - expireSessionsOnShutdown = true means that - - useDirtyFlag = true means that we only replicate a session after setAttribute,removeAttribute has been called. - false means to replicate the session after each request. - false means that replication would work for the following piece of code: - <% - HashMap map = new HashMap(); - session.setAttribute("map",map); - map.put("key","value"); - %> - --> - - - <Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster" - name="FilipsCluster" - debug="10" - serviceclass="org.apache.catalina.cluster.mcast.McastService" - mcastAddr="228.0.0.4" - mcastPort="45564" - mcastFrequency="500" - mcastDropTime="3000" - tcpThreadCount="2" - tcpListenAddress="auto" - tcpListenPort="4001" - tcpSelectorTimeout="100" - printToScreen="false" - expireSessionsOnShutdown="false" - useDirtyFlag="true" - /> - - <!-- - When configuring for clustering, you also add in a valve to catch all the requests - coming in, at the end of the request, the session may or may not be replicated. - A session is replicated if and only if all the conditions are met: - 1. useDirtyFlag is true or setAttribute or removeAttribute has been called AND - 2. a session exists (has been created) - 3. the request is not trapped by the "filter" attribute - - The filter attribute is to filter out requests that could not modify the session, - hence we don't replicate the session after the end of this request. - The filter is negative, ie, anything you put in the filter, you mean to filter out, - ie, no replication will be done on requests that match one of the filters. - The filter attribute is delimited by ;, so you can't escape out ; even if you wanted to. - - filter=".*\.gif;.*\.js;" means that we will not replicate the session after requests with the URI - ending with .gif and .js are intercepted. - --> - - <Valve className="org.apache.catalina.cluster.tcp.ReplicationValve" - filter=".*\.gif;.*\.js;.*\.jpg;.*\.htm;.*\.html;.*\.txt;"/> - - <!-- Add the following attributes if you want to turn XML validation - on. Remember to comment the Host element above. - - Note: XML Schema validationn will works with Xerces 2.0.1 or - Xerces 2.1. Xerces 2.0.2 and Xerces 2.2 have bugs that prevent - their use with Tomcat--> - <!-- - <Host name="localhost" debug="0" appBase="webapps" - unpackWARs="true" autoDeploy="true" - xmlValidation="true" xmlNamespaceAware="true"> - --> - - <!-- Uncomment this to cluster this host using JavaGroups. The - protocol attribute can be used to configure the JavaGroups - network stack (the defaults are used if it's not specified). --> - <!-- - <Cluster className="org.apache.catalina.cluster.JGCluster"/> - --> - - <!-- Normally, users must authenticate themselves to each web app - individually. Uncomment the following entry if you would like - a user to be authenticated the first time they encounter a - resource protected by a security constraint, and then have that - user identity maintained across *all* web applications contained - in this virtual host. --> - <!-- - <Valve className="org.apache.catalina.authenticator.SingleSignOn" - debug="0"/> - --> - - <!-- Access log processes all requests for this virtual host. By - default, log files are created in the "logs" directory relative to - $CATALINA_HOME. If you wish, you can specify a different - directory with the "directory" attribute. Specify either a relative - (to $CATALINA_HOME) or absolute path to the desired directory. - --> - <!-- - <Valve className="org.apache.catalina.valves.AccessLogValve" - directory="logs" prefix="localhost_access_log." suffix=".txt" - pattern="common" resolveHosts="false"/> - --> - - <!-- Logger shared by all Contexts related to this virtual host. By - default (when using FileLogger), log files are created in the "logs" - directory relative to $CATALINA_HOME. If you wish, you can specify - a different directory with the "directory" attribute. Specify either a - relative (to $CATALINA_HOME) or absolute path to the desired - directory.--> - <Logger className="org.apache.catalina.logger.FileLogger" - directory="logs" prefix="localhost_log." suffix=".txt" - timestamp="true"/> - - <!-- Define properties for each web application. This is only needed - if you want to set non-default properties, or have web application - document roots in places other than the virtual host's appBase - directory. --> - - <!-- Tomcat Root Context --> - <!-- - <Context path="/reptest" docBase="reptest" debug="0"> - - </Context> - --> - - + resourceName="UserDatabase"/> + <Host name="localhost" appBase="webapps" + unpackWARs="true" autoDeploy="true" + xmlValidation="false" xmlNamespaceAware="false"> + + <Valve className="org.apache.catalina.valves.AccessLogValve" + directory="logs" + prefix="localhost_access_log." + suffix=".txt" pattern="common" resolveHosts="false"/> </Host> - </Engine> - </Service> - </Server> --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]