JBossWeb SVN: r266 - in trunk: jboss and 4 other directories.
by jbossweb-commits@lists.jboss.org
Author: remy.maucherat(a)jboss.com
Date: 2007-09-05 11:06:01 -0400 (Wed, 05 Sep 2007)
New Revision: 266
Added:
trunk/jboss/org/
trunk/jboss/org/apache/
trunk/jboss/org/apache/catalina/
trunk/jboss/org/apache/catalina/startup/
trunk/jboss/org/apache/catalina/startup/catalina.properties
Removed:
trunk/jboss/catalina.properties
Modified:
trunk/build.xml
Log:
- Replace catalina.properties in jbossweb.jar with the JBoss
specific configuration.
Modified: trunk/build.xml
===================================================================
--- trunk/build.xml 2007-09-05 14:51:59 UTC (rev 265)
+++ trunk/build.xml 2007-09-05 15:06:01 UTC (rev 266)
@@ -489,6 +489,7 @@
<fileset dir="${tomcat.classes}">
<include name="org/apache/*" />
<include name="org/apache/catalina/**" />
+ <exclude name="org/apache/catalina/startup/catalina.properties" />
<include name="org/apache/naming/**" />
<include name="org/apache/coyote/**" />
<include name="org/apache/tomcat/jni/**" />
@@ -499,6 +500,9 @@
<!-- Javadoc and i18n exclusions -->
<exclude name="**/package.html" />
</fileset>
+ <fileset dir="${basedir}/jboss">
+ <include name="org/apache/catalina/startup/catalina.properties" />
+ </fileset>
</jar>
<copy file="${jasper-jdt.jar}" todir="${tomcat.jars}" />
Deleted: trunk/jboss/catalina.properties
===================================================================
--- trunk/jboss/catalina.properties 2007-09-05 14:51:59 UTC (rev 265)
+++ trunk/jboss/catalina.properties 2007-09-05 15:06:01 UTC (rev 266)
@@ -1,71 +0,0 @@
-#
-# List of comma-separated packages that start with or equal this string
-# will cause a security exception to be thrown when
-# passed to checkPackageAccess unless the
-# corresponding RuntimePermission ("accessClassInPackage."+package) has
-# been granted.
-package.access=sun.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,org.apache.jasper.,sun.beans.
-#
-# List of comma-separated packages that start with or equal this string
-# will cause a security exception to be thrown when
-# passed to checkPackageDefinition unless the
-# corresponding RuntimePermission ("defineClassInPackage."+package) has
-# been granted.
-#
-# by default, no packages are restricted for definition, and none of
-# the class loaders supplied with the JDK call checkPackageDefinition.
-#
-package.definition=sun.,java.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,org.apache.jasper.
-
-#
-#
-# List of comma-separated paths defining the contents of the "common"
-# classloader. Prefixes should be used to define what is the repository type.
-# Path may be relative to the CATALINA_HOME or CATALINA_BASE path or absolute.
-# If left as blank,the JVM system loader will be used as Catalina's "common"
-# loader.
-# Examples:
-# "foo": Add this folder as a class repository
-# "foo/*.jar": Add all the JARs of the specified folder as class
-# repositories
-# "foo/bar.jar": Add bar.jar as a class repository
-common.loader=${catalina.home}/lib,${catalina.home}/lib/*.jar
-
-#
-# List of comma-separated paths defining the contents of the "server"
-# classloader. Prefixes should be used to define what is the repository type.
-# Path may be relative to the CATALINA_HOME or CATALINA_BASE path or absolute.
-# If left as blank, the "common" loader will be used as Catalina's "server"
-# loader.
-# Examples:
-# "foo": Add this folder as a class repository
-# "foo/*.jar": Add all the JARs of the specified folder as class
-# repositories
-# "foo/bar.jar": Add bar.jar as a class repository
-server.loader=
-
-#
-# List of comma-separated paths defining the contents of the "shared"
-# classloader. Prefixes should be used to define what is the repository type.
-# Path may be relative to the CATALINA_BASE path or absolute. If left as blank,
-# the "common" loader will be used as Catalina's "shared" loader.
-# Examples:
-# "foo": Add this folder as a class repository
-# "foo/*.jar": Add all the JARs of the specified folder as class
-# repositories
-# "foo/bar.jar": Add bar.jar as a class repository
-# Please note that for single jars, e.g. bar.jar, you need the URL form
-# starting with file:.
-shared.loader=
-
-#
-# String cache configuration.
-tomcat.util.buf.StringCache.byte.enabled=true
-#tomcat.util.buf.StringCache.char.enabled=true
-#tomcat.util.buf.StringCache.trainThreshold=500000
-#tomcat.util.buf.StringCache.cacheSize=5000
-
-# JBoss AS configuration
-org.apache.catalina.STRICT_SERVLET_COMPLIANCE=true
-org.apache.catalina.core.StandardService.DELAY_CONNECTOR_STARTUP=true
-
Copied: trunk/jboss/org/apache/catalina/startup/catalina.properties (from rev 265, trunk/jboss/catalina.properties)
===================================================================
--- trunk/jboss/org/apache/catalina/startup/catalina.properties (rev 0)
+++ trunk/jboss/org/apache/catalina/startup/catalina.properties 2007-09-05 15:06:01 UTC (rev 266)
@@ -0,0 +1,71 @@
+#
+# List of comma-separated packages that start with or equal this string
+# will cause a security exception to be thrown when
+# passed to checkPackageAccess unless the
+# corresponding RuntimePermission ("accessClassInPackage."+package) has
+# been granted.
+package.access=sun.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,org.apache.jasper.,sun.beans.
+#
+# List of comma-separated packages that start with or equal this string
+# will cause a security exception to be thrown when
+# passed to checkPackageDefinition unless the
+# corresponding RuntimePermission ("defineClassInPackage."+package) has
+# been granted.
+#
+# by default, no packages are restricted for definition, and none of
+# the class loaders supplied with the JDK call checkPackageDefinition.
+#
+package.definition=sun.,java.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,org.apache.jasper.
+
+#
+#
+# List of comma-separated paths defining the contents of the "common"
+# classloader. Prefixes should be used to define what is the repository type.
+# Path may be relative to the CATALINA_HOME or CATALINA_BASE path or absolute.
+# If left as blank,the JVM system loader will be used as Catalina's "common"
+# loader.
+# Examples:
+# "foo": Add this folder as a class repository
+# "foo/*.jar": Add all the JARs of the specified folder as class
+# repositories
+# "foo/bar.jar": Add bar.jar as a class repository
+common.loader=${catalina.home}/lib,${catalina.home}/lib/*.jar
+
+#
+# List of comma-separated paths defining the contents of the "server"
+# classloader. Prefixes should be used to define what is the repository type.
+# Path may be relative to the CATALINA_HOME or CATALINA_BASE path or absolute.
+# If left as blank, the "common" loader will be used as Catalina's "server"
+# loader.
+# Examples:
+# "foo": Add this folder as a class repository
+# "foo/*.jar": Add all the JARs of the specified folder as class
+# repositories
+# "foo/bar.jar": Add bar.jar as a class repository
+server.loader=
+
+#
+# List of comma-separated paths defining the contents of the "shared"
+# classloader. Prefixes should be used to define what is the repository type.
+# Path may be relative to the CATALINA_BASE path or absolute. If left as blank,
+# the "common" loader will be used as Catalina's "shared" loader.
+# Examples:
+# "foo": Add this folder as a class repository
+# "foo/*.jar": Add all the JARs of the specified folder as class
+# repositories
+# "foo/bar.jar": Add bar.jar as a class repository
+# Please note that for single jars, e.g. bar.jar, you need the URL form
+# starting with file:.
+shared.loader=
+
+#
+# String cache configuration.
+tomcat.util.buf.StringCache.byte.enabled=true
+#tomcat.util.buf.StringCache.char.enabled=true
+#tomcat.util.buf.StringCache.trainThreshold=500000
+#tomcat.util.buf.StringCache.cacheSize=5000
+
+# JBoss AS configuration
+org.apache.catalina.STRICT_SERVLET_COMPLIANCE=true
+org.apache.catalina.core.StandardService.DELAY_CONNECTOR_STARTUP=true
+org.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER=true
17 years, 3 months
JBossWeb SVN: r265 - in trunk: webapps/docs and 1 other directories.
by jbossweb-commits@lists.jboss.org
Author: remy.maucherat(a)jboss.com
Date: 2007-09-05 10:51:59 -0400 (Wed, 05 Sep 2007)
New Revision: 265
Removed:
trunk/webapps/docs/config/cluster-channel.xml
trunk/webapps/docs/config/cluster-deployer.xml
trunk/webapps/docs/config/cluster-interceptor.xml
trunk/webapps/docs/config/cluster-listener.xml
trunk/webapps/docs/config/cluster-manager.xml
trunk/webapps/docs/config/cluster-membership.xml
trunk/webapps/docs/config/cluster-receiver.xml
trunk/webapps/docs/config/cluster-sender.xml
trunk/webapps/docs/config/cluster-valve.xml
trunk/webapps/docs/config/cluster.xml
trunk/webapps/docs/maven-jars.xml
Modified:
trunk/res/tomcat.nsi
trunk/webapps/docs/config/ajp.xml
trunk/webapps/docs/config/context.xml
trunk/webapps/docs/config/engine.xml
trunk/webapps/docs/config/executor.xml
trunk/webapps/docs/config/globalresources.xml
trunk/webapps/docs/config/host.xml
trunk/webapps/docs/config/http.xml
trunk/webapps/docs/config/index.xml
trunk/webapps/docs/config/loader.xml
trunk/webapps/docs/config/manager.xml
trunk/webapps/docs/config/project.xml
trunk/webapps/docs/config/realm.xml
trunk/webapps/docs/config/server.xml
trunk/webapps/docs/config/valve.xml
trunk/webapps/docs/jndi-datasource-examples-howto.xml
trunk/webapps/docs/jndi-resources-howto.xml
trunk/webapps/docs/legal.xml
trunk/webapps/docs/logging.xml
trunk/webapps/docs/manager-howto.xml
trunk/webapps/docs/mbeans-descriptor-howto.xml
trunk/webapps/docs/monitoring.xml
trunk/webapps/docs/project.xml
trunk/webapps/docs/proxy-howto.xml
trunk/webapps/docs/realm-howto.xml
trunk/webapps/docs/security-manager-howto.xml
trunk/webapps/docs/setup.xml
trunk/webapps/docs/ssi-howto.xml
trunk/webapps/docs/ssl-howto.xml
trunk/webapps/docs/tomcat-docs.xsl
trunk/webapps/docs/virtual-hosting-howto.xml
Log:
- Branding of docs (part 2/3).
Modified: trunk/res/tomcat.nsi
===================================================================
--- trunk/res/tomcat.nsi 2007-09-05 10:18:48 UTC (rev 264)
+++ trunk/res/tomcat.nsi 2007-09-05 14:51:59 UTC (rev 265)
@@ -6,17 +6,17 @@
CRCCheck on
SetCompressor /SOLID lzma
- Name "Apache Tomcat"
+ Name "JBoss Web"
;Product information
- VIAddVersionKey ProductName "Apache Tomcat"
- VIAddVersionKey CompanyName "Apache Software Foundation"
- VIAddVersionKey LegalCopyright "Copyright (c) 1999-2006 The Apache Software Foundation"
- VIAddVersionKey FileDescription "Apache Tomcat Installer"
- VIAddVersionKey FileVersion "2.0"
+ VIAddVersionKey ProductName "JBoss Web"
+ VIAddVersionKey CompanyName "RedHat"
+ VIAddVersionKey LegalCopyright "Copyright (c) 2006-2007 RedHat"
+ VIAddVersionKey FileDescription "JBoss Web Installer"
+ VIAddVersionKey FileVersion "2.1"
VIAddVersionKey ProductVersion "@VERSION@"
- VIAddVersionKey Comments "tomcat.apache.org"
- VIAddVersionKey InternalName "apache-tomcat-@VERSION@.exe"
+ VIAddVersionKey Comments "jbossweb"
+ VIAddVersionKey InternalName "jbossweb-@VERSION@.exe"
VIProductVersion @VERSION_NUMBER@
!include "MUI.nsh"
Modified: trunk/webapps/docs/config/ajp.xml
===================================================================
--- trunk/webapps/docs/config/ajp.xml 2007-09-05 10:18:48 UTC (rev 264)
+++ trunk/webapps/docs/config/ajp.xml 2007-09-05 14:51:59 UTC (rev 265)
@@ -21,7 +21,7 @@
<p>The <strong>AJP Connector</strong> element represents a
<strong>Connector</strong> component that communicates with a web
connector via the <code>AJP</code> protocol. This is used for cases
- where you wish to invisibly integrate Tomcat 6 into an existing (or new)
+ where you wish to invisibly integrate JBoss Web into an existing (or new)
Apache installation, and you want Apache to handle the static content
contained in the web application, and/or utilize Apache's SSL
processing.</p>
@@ -30,7 +30,7 @@
the <code>jvmRoute</code> attribute of the
<a href="engine.html">Engine</a>.</p>
-<p>The native connectors supported with this Tomcat release are:
+<p>The native connectors supported with this JBoss Web release are:
<ul>
<li>JK 1.2.x with any of the supported servers</li>
<li>mod_proxy on Apache httpd 2.x (included by default in Apache HTTP Server 2.2),
@@ -165,13 +165,13 @@
</attribute>
<attribute name="useIPVHosts" required="false">
- <p>Set this attribute to <code>true</code> to cause Tomcat to use
+ <p>Set this attribute to <code>true</code> to cause JBoss Web to use
the ServerName passed by the native web server to determine the Host
to send the request to. The default value is <code>false</code>.</p>
</attribute>
<attribute name="xpoweredBy" required="false">
- <p>Set this attribute to <code>true</code> to cause Tomcat to advertise
+ <p>Set this attribute to <code>true</code> to cause JBoss Web to advertise
support for the Srevlet specification using the header recommended in the
specification. The default value is <code>false</code>.</p>
</attribute>
@@ -258,9 +258,9 @@
</attribute>
<attribute name="tomcatAuthentication" required="false">
- <p>If set to <code>true</code>, the authetication will be done in Tomcat.
+ <p>If set to <code>true</code>, the authetication will be done in JBoss Web.
Otherwise, the authenticated principal will be propagated from the native
- webaserver and used for authorization in Tomcat.
+ webaserver and used for authorization in JBoss Web.
The default value is <code>true</code>.</p>
</attribute>
Deleted: trunk/webapps/docs/config/cluster-channel.xml
===================================================================
--- trunk/webapps/docs/config/cluster-channel.xml 2007-09-05 10:18:48 UTC (rev 264)
+++ trunk/webapps/docs/config/cluster-channel.xml 2007-09-05 14:51:59 UTC (rev 265)
@@ -1,86 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE document [
- <!ENTITY project SYSTEM "project.xml">
-]>
-<document url="cluster-channel.html">
-
- &project;
-
- <properties>
- <author email="fhanik(a)apache.org">Filip Hanik</author>
- <title>The Cluster Channel object</title>
- </properties>
-
-<body>
-
-
-<section name="Introduction">
- The cluster channel is the main component of a small framework we've nicknamed Apache Tribes.<br/>
- The channel manages a set of sub components and together they create a group communication framework.<br/>
- This framework is then used internally by the components that need to send messages between different Tomcat instances.
- <br/>
- A few examples of these components would be the SimpleTcpCluster that does the messaging for the DeltaManager,
- or the BackupManager that uses a different replication strategy. The ReplicatedContext object does also
- use the channel object to communicate context attribute changes.
-</section>
-<section name="Nested Components">
- <p><b><a href="cluster-membership.html">Channel/Membership</a>:</b> <br/>
- The Membership component is responsible for auto discovering new nodes in the cluster
- and also to provide for notifications for any nodes that have not responded with a heartbeat.
- The default implementation uses multicast.<br/>
- In the membership component you configure how your nodes, aka. members, are to be discovered and/or
- divided up.
- You can always find out more about <a href="../tribes/introduction.html">Apache Tribes</a>
- </p>
- <p><b><a href="cluster-sender.html">Channel/Sender</a>:</b> <br/>
- The Sender component manages all outbound connections and data messages that are sent
- over the network from one node to another.
- This component allows messages to be sent in parallel.
- The default implementation uses TCP client sockets, and socket tuning for outgoing messages are
- configured here.<br/>
- You can always find out more about <a href="../tribes/introduction.html">Apache Tribes</a>
- </p>
- <p><b><a href="cluster-sender.html#transport">Channel/Sender/Transport</a>:</b> <br/>
- The Transport component is the bottom IO layer for the sender component.
- The default implementation uses non-blocking TCP client sockets.<br/>
- You can always find out more about <a href="../tribes/introduction.html">Apache Tribes</a>
- </p>
- <p><b><a href="cluster-receiver.html">Channel/Receiver</a>:</b> <br/>
- The receiver component listens for messages from other nodes.
- Here you will configure the cluster thread pool, as it will dispatch incoming
- messages to a thread pool for faster processing.
- The default implementation uses non-blocking TCP server sockets.<br/>
- You can always find out more about <a href="../tribes/introduction.html">Apache Tribes</a>
- </p>
- <p><b><a href="cluster-interceptor.html">Channel/Interceptor</a>:</b> <br/>
- The channel will send messages through an interceptor stack. Because of this, you have the ability to
- customize the way messages are sent and received, and even how membership is handled.<br/>
- You can always find out more about <a href="../tribes/introduction.html">Apache Tribes</a>
- </p>
-</section>
-
-
-<section name="Attributes">
-
- <subsection name="Common Attributes">
-
- <attributes>
-
- <attribute name="className" required="true">
- The default value here is <code>org.apache.catalina.tribes.group.GroupChannel</code> and is
- currently the only implementation available.
- </attribute>
-
-
- </attributes>
-
-
- </subsection>
-
-
-</section>
-
-
-</body>
-
-</document>
Deleted: trunk/webapps/docs/config/cluster-deployer.xml
===================================================================
--- trunk/webapps/docs/config/cluster-deployer.xml 2007-09-05 10:18:48 UTC (rev 264)
+++ trunk/webapps/docs/config/cluster-deployer.xml 2007-09-05 14:51:59 UTC (rev 265)
@@ -1,46 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE document [
- <!ENTITY project SYSTEM "project.xml">
-]>
-<document url="cluster-deployer.html">
-
- &project;
-
- <properties>
- <author email="fhanik(a)apache.org">Filip Hanik</author>
- <title>The Cluster Deployer object</title>
- </properties>
-
-<body>
-
-
-<section name="Introduction">
- <p>This goober is currently pretty broken, but we are working hard to fix it</p>
-
-
-</section>
-
-
-<section name="Attributes">
-
- <subsection name="Common Attributes">
-
- <attributes>
-
- <attribute name="className" required="true">
-
- </attribute>
-
-
- </attributes>
-
-
- </subsection>
-
-
-</section>
-
-
-</body>
-
-</document>
Deleted: trunk/webapps/docs/config/cluster-interceptor.xml
===================================================================
--- trunk/webapps/docs/config/cluster-interceptor.xml 2007-09-05 10:18:48 UTC (rev 264)
+++ trunk/webapps/docs/config/cluster-interceptor.xml 2007-09-05 14:51:59 UTC (rev 265)
@@ -1,156 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE document [
- <!ENTITY project SYSTEM "project.xml">
-]>
-<document url="cluster-interceptor.html">
-
- &project;
-
- <properties>
- <author email="fhanik(a)apache.org">Filip Hanik</author>
- <title>The Channel Interceptor object</title>
- </properties>
-
-<body>
-
-
-<section name="Introduction">
- <p>
- Apache Tribes supports an interceptor architecture to intercept both messages and membership notifications.
- This architecture allows decoupling of logic and opens the way for some very kewl feature add ons.
- </p>
-</section>
-
-<section name="Available Interceptors">
- <p>
- <ul>
- <li><code>org.apache.catalina.tribes.group.interceptors.TcpFailureDetector</code></li>
- <li><code>org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor</code></li>
- <li><code>org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor</code></li>
- <li><code>org.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor</code></li>
- <li><code>org.apache.catalina.tribes.group.interceptors.NonBlockingCoordinator</code></li>
- <li><code>org.apache.catalina.tribes.group.interceptors.OrderInterceptor</code></li>
- <li><code>org.apache.catalina.tribes.group.interceptors.StaticMembershipInterceptor</code></li>
- <li><code>org.apache.catalina.tribes.group.interceptors.TwoPhaseCommitInterceptor</code></li>
- <li><code>org.apache.catalina.tribes.group.interceptors.DomainFilterInterceptor</code></li>
- <li><code>org.apache.catalina.tribes.group.interceptors.FragmentationInterceptor</code></li>
- <li><code>org.apache.catalina.tribes.group.interceptors.GzipInterceptor</code></li>
- </ul>
- </p>
-</section>
-
-<section name="Static Membership">
- <p>
- In addition to dynamic discovery, Apache Tribes also supports static membership, with membership verification.
- To achieve this add the <code>org.apache.catalina.tribes.group.interceptors.StaticMembershipInterceptor</code>
- underneath the <code>org.apache.catalina.tribes.group.interceptors.TcpFailureDetector</code> interceptor.
- Inside the <code>StaticMembershipInterceptor</code> you can add the static members you wish to have.
- The <code>TcpFailureDetector</code> will do a health check on the static members,and also monitor them for crashes
- so they will have the same level of notification mechanism as the members that are automatically discovered.
- <source>
- <Interceptor className="org.apache.catalina.tribes.group.interceptors.StaticMembershipInterceptor">
- <Member className="org.apache.catalina.tribes.membership.StaticMember"
- port="5678"
- securePort="-1"
- host="tomcat01.mydomain.com"
- domain="staging-cluster"
- uniqueId="{0,1,2,3,4,5,6,7,8,9}"/>
- </Interceptor>
-
- </source>
- </p>
-</section>
-
-<section name="Attributes">
-
- <subsection name="Common Attributes">
- <attributes>
- <attribute name="className" required="true">
- Required, as there is no default
- </attribute>
- <attribute name="optionFlag" required="false">
- If you want the interceptor to trigger on certain message depending on the message's option flag,
- you can setup the interceptors flag here.
- The default value is <code>0</code>, meaning this interceptor will trigger on all messages.
- </attribute>
- </attributes>
- </subsection>
-
- <subsection name="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor Attributes">
- <attributes>
- <attribute name="className" required="true">
- Required, This dispatcher uses JDK 1.5 java.util.concurrent package
- </attribute>
- <attribute name="optionFlag" required="false">
- The default and hard coded value is <code>8 (org.apache.catalina.tribes.Channel.SEND_OPTIONS_ASYNCHRONOUS)</code>.
- The dispatcher will trigger on this value only, as it is predefined by Tribes.
- </attribute>
- </attributes>
- </subsection>
- <subsection name="org.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor Attributes">
- <attributes>
- <attribute name="className" required="true">
- Required, Same implementation as <code>MessageDispatch15Interceptor</code>, but with JDK 1.4 compliance.
- </attribute>
- <attribute name="optionFlag" required="false">
- The default and hard coded value is <code>8 (org.apache.catalina.tribes.Channel.SEND_OPTIONS_ASYNCHRONOUS)</code>.
- The dispatcher will trigger on this value only, as it is predefined by Tribes.
- </attribute>
- </attributes>
- </subsection>
- <subsection name="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector Attributes">
- <attributes>
- </attributes>
- </subsection>
- <subsection name="org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor Attributes">
- <attributes>
- <attribute name="interval" required="false">
- Defines the interval in number of messages when we are to report the throughput statistics.
- The report is logged to the <code>org.apache.juli.logging.LogFactory.getLog(ThroughputInterceptor.class)</code>
- logger under the <code>INFO</code> level.
- Default value is to report every <code>10000</code> messages.
- </attribute>
- </attributes>
- </subsection>
-
- <subsection name="Nested element StaticMember Attributes">
- <attributes>
- <attribute name="className" required="true">
- Only one implementation available:<code>org.apache.catalina.tribes.membership.StaticMember</code>
- </attribute>
- <attribute name="port" required="true">
- The port that this static member listens to for cluster messages
- </attribute>
- <attribute name="securePort" required="false">
- The secure port this static member listens to for encrypted cluster messages
- default value is <code>-1</code>, this value means the member is not listening on a secure port
- </attribute>
- <attribute name="host" required="true">
- The host (or network interface) that this static member listens for cluster messages.
- Three different type of values are possible:<br/>
- 1. IP address in the form of "216.123.1.23"<br/>
- 2. Hostnames like "tomcat01.mydomain.com" or "tomcat01" as long as they resolve correctly<br/>
- 3. byte array in string form, for example {216,123,12,3}<br/>
- </attribute>
- <attribute name="domain" required="true">
- The logical cluster domain for this this static member listens for cluster messages.
- Two different type of values are possible:<br/>
- 1. Regular string values like "staging-domain" or "tomcat-cluster" will be converted into bytes
- using ISO-8859-1 encoding.
- 2. byte array in string form, for example {216,123,12,3}<br/>
- </attribute>
- <attribute name="uniqueId" required="true">
- A universally uniqueId for this static member.
- The values must be 16 bytes in the following form:<br/>
- 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/>
- </attribute>
- </attributes>
- </subsection>
- <!--TODO Document all the interceptors-->
-
-</section>
-
-
-</body>
-
-</document>
Deleted: trunk/webapps/docs/config/cluster-listener.xml
===================================================================
--- trunk/webapps/docs/config/cluster-listener.xml 2007-09-05 10:18:48 UTC (rev 264)
+++ trunk/webapps/docs/config/cluster-listener.xml 2007-09-05 14:51:59 UTC (rev 265)
@@ -1,61 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE document [
- <!ENTITY project SYSTEM "project.xml">
-]>
-<document url="cluster-listener.html">
-
- &project;
-
- <properties>
- <author email="fhanik(a)apache.org">Filip Hanik</author>
- <title>The ClusterListener object</title>
- </properties>
-
-<body>
-
-
-<section name="Introduction">
- <p>
- The <code>org.apache.catalina.ha.ClusterListener</code> base class
- lets you listen in on messages that are received by the <code>Cluster</code> component.
- </p>
-
-</section>
-<section name="org.apache.catalina.ha.session.ClusterSessionListener">
- <p>
- When using the DeltaManager, the messages are received by the Cluster object and are propagated to the
- to the manager through this listener.
- </p>
-</section>
-<section name="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener">
- <p>
- Listens for session Id changes. This listener is only used if you are using mod_jk
- along with the <code>jvmRoute</code> attribute where the session Id can change.
- In the event of a change, the <code>JvmRouteBinderValve</code> will broadcast the
- session change and it will get picked up by this listener.
- </p>
-</section>
-
-<section name="Attributes">
-
- <subsection name="Common Attributes">
-
- <attributes>
-
- <attribute name="className" required="true">
-
- </attribute>
-
-
- </attributes>
-
-
- </subsection>
-
-
-</section>
-
-
-</body>
-
-</document>
Deleted: trunk/webapps/docs/config/cluster-manager.xml
===================================================================
--- trunk/webapps/docs/config/cluster-manager.xml 2007-09-05 10:18:48 UTC (rev 264)
+++ trunk/webapps/docs/config/cluster-manager.xml 2007-09-05 14:51:59 UTC (rev 265)
@@ -1,96 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE document [
- <!ENTITY project SYSTEM "project.xml">
-]>
-<document url="cluster-manager.html">
-
- &project;
-
- <properties>
- <author email="fhanik(a)apache.org">Filip Hanik</author>
- <title>The ClusterManager object</title>
- </properties>
-
-<body>
-
-
-<section name="Introduction">
- <p>
- A cluster manager is an extension to Tomcat's session manager interface,
- <code>org.apache.catalina.Manager</code>
- A cluster manager must implement the <code>org.apache.catalina.ha.ClusterManager</code> and is solely
- responsible for how the session is replicated.<br/>
- There are currently two different managers, the <code>org.apache.catalina.ha.session.DeltaManager</code> replicates deltas
- of session data to all members in the cluster. This implementation is proven and works very well, but has a limitation
- as it requires the cluster members to be homogeneous, all nodes must deploy the same applications and be exact replicas.
- The <code>org.apache.catalina.ha.session.BackupManager</code> also replicates deltas but only to one backup node.
- The location of the backup node is known to all nodes in the cluster. It also supports heterogeneous deployments,
- so the manager knows at what locations the webapp is deployed.<br/>
- We are planning to add more managers with even more sophisticated backup mechanism to support even larger clusters.
- Check back soon!
- </p>
-</section>
-
-<section name="The <Manager>">
- <p>
- The <code><Manager></code> element defined inside the <code><Cluster></code> element
- is the template defined for all web applications that are marked <code><distributable/></code>
- in their <code>web.xml</code> file.
- However, you can still override the manager implementation on a per web application basis,
- by putting the <code><Manager></code> inside the <code><Context></code> element either in the
- <code><a href="context.html">context.xml</a></code> file or the <code><a href="index.html">server.xml</a></code> file.
- </p>
-</section>
-
-<section name="Attributes">
- <subsection name="Common Attributes">
- <attributes>
- <attribute name="className" required="true">
- </attribute>
- <attribute name="name" required="false">
- <b>The name of this cluster manager, the name is used to identify a session manager on a node.
- The name might get modified by the <code>Cluster</code> element to make it unique in the container.</b>
- </attribute>
- <attribute name="defaultMode" required="false">
- <b>Deprecated since 6.0.0</b>
- </attribute>
- <attribute name="notifyListenersOnReplication" required="false">
- Set to <code>true</code> if you wish to have session listeners notified when
- session attributes are being replicated or removed across Tomcat nodes in the cluster.
- </attribute>
- <attribute name="expireSessionsOnShutdown" required="false">
- When a webapplication is being shutdown, Tomcat issues an expire call to each session to
- notify all the listeners. If you wish for all sessions to expire on all nodes when
- a shutdown occurs on one node, set this value to <code>true</code>.
- Default value is <code>false</code>.
- </attribute>
-
- </attributes>
- </subsection>
- <subsection name="org.apache.catalina.ha.session.DeltaManager Attributes">
- <attributes>
- <attribute name="domainReplication" required="false">
- Set to true if you wish sessions to be replicated only to members that have the same logical
- domain set. If set to false, session replication will ignore the domain setting the
- <code><a href="cluster-membership.html"><Membership></a></code>
- element.
- </attribute>
- <attribute name="expireSessionsOnShutdown" required="false">
- When a webapplication is being shutdown, Tomcat issues an expire call to each session to
- notify all the listeners. If you wish for all sessions to expire on all nodes when
- a shutdown occurs on one node, set this value to <code>true</code>.
- Default value is <code>false</code>.
- </attribute>
- </attributes>
- </subsection>
- <subsection name="org.apache.catalina.ha.session.BackupManager Attributes">
- <attributes>
- <attribute name="mapSendOptions" required="false">
- The backup manager uses a replicated map, this map is sending and receiving messages.
- You can setup the flag for how this map is sending messages, the default value is <code>8</code>(asynchronous).
- </attribute>
- </attributes>
- </subsection>
-</section>
-</body>
-</document>
Deleted: trunk/webapps/docs/config/cluster-membership.xml
===================================================================
--- trunk/webapps/docs/config/cluster-membership.xml 2007-09-05 10:18:48 UTC (rev 264)
+++ trunk/webapps/docs/config/cluster-membership.xml 2007-09-05 14:51:59 UTC (rev 265)
@@ -1,125 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE document [
- <!ENTITY project SYSTEM "project.xml">
-]>
-<document url="cluster-membership.html">
-
- &project;
-
- <properties>
- <author email="fhanik(a)apache.org">Filip Hanik</author>
- <title>The Cluster Membership object</title>
- </properties>
-
-<body>
-
-
-<section name="Introduction">
- <p>
- The membership component in the Apache Tribes <a href="cluster-channel.html">Channel</a> is responsible
- for dynamic discovery of other members(nodes) in the cluster.
- </p>
-</section>
-
-<section name="Default Implementation">
- <p>
- The default implementation of the cluster group notification is built on top of multicast heartbeats
- sent using UDP packets to a multicast IP address.
- Cluster members are grouped together by using the same multicast address/port combination.
- Each member sends out a heartbeat with a given interval (<code>frequency</code>), and this
- heartbeat is used for dynamic discovery.
- In a similar fashion, if a heartbeat has not been received in a timeframe specified by <code>dropTime</code>
- ms. a member is considered suspect and the channel and any membership listener will be notified.
- </p>
-</section>
-
-
-
-<section name="Attributes">
-
- <subsection name="Multicast Attributes">
-
- <attributes>
-
- <attribute name="className" required="true">
- <p>
- The default value is <code>org.apache.catalina.tribes.membership.McastService</code>
- and is currently the only implementation.
- This implementation uses multicast heartbeats for member discovery.
- </p>
- </attribute>
- <attribute name="address" required="false">
- <p>
- The multicast address that the membership will broadcast its presence and listen
- for other heartbeats on. The default value is <code>228.0.0.4</code>
- Make sure your network is enabled for multicast traffic.<br/>
- The multicast address, in conjunction with the <code>port</code> is what
- creates a cluster group. To divide up your farm into several different group, or to
- split up QA from production, change the <code>port</code> or the <code>address</code>
- <br/>Previously known as mcastAddr.
- </p>
- </attribute>
- <attribute name="port" required="false">
- <p>
- The multicast port, the default value is <code>45564</code><br/>
- The multicast port, in conjunction with the <code>address</code> is what
- creates a cluster group. To divide up your farm into several different group, or to
- split up QA from production, change the <code>port</code> or the <code>address</code>
- </p>
- </attribute>
- <attribute name="frequency" required="false">
- <p>
- The frequency in milliseconds in which heartbeats are sent out. The default value is <code>500</code> ms.<br/>
- In most cases the default value is sufficient. Changing this value, simply changes the interval in between heartbeats.
- </p>
- </attribute>
- <attribute name="dropTime" required="false">
- <p>
- The membership component will time out members and notify the Channel if a member fails to send a heartbeat within
- a give time. The default value is <code>3000</code> ms. This means, that if a heartbeat is not received from a
- member in that timeframe, the membership component will notify the cluster of this.<br/>
- On a high latency network you may wish to increase this value, to protect against false positives.<br/>
- Apache Tribes also provides a <a href="cluster-interceptor.html#tcpfailuredetector"><code>TcpFailureDetector</code></a> that will
- verify a timeout using a TCP connection when a heartbeat timeout has occurred. This protects against false positives.
- </p>
- </attribute>
- <attribute name="bind" required="false">
- <p>
- Use this attribute if you wish to bind your multicast traffic to a specific network interface.
- By default, or when this attribute is unset, it tries to bind to <code>0.0.0.0</code> and sometimes on multihomed hosts
- this becomes a problem.
- </p>
- </attribute>
- <attribute name="ttl" required="false">
- <p>
- The time-to-live setting for the multicast heartbeats.
- This setting should be a value between 0 and 255. The default value is VM implementation specific.
- </p>
- </attribute>
- <attribute name="domain" required="false">
- <p>
- Apache Tribes has the ability to logically group members into domains, by using this domain attribute.
- The <code>org.apache.catalina.tribes.Member.getDomain()</code> method returns the value specified here.
- </p>
- </attribute>
- <attribute name="soTimeout" required="false">
- <p>
- The sending and receiving of heartbeats is done on a single thread, hence to avoid blocking this thread forever,
- you can control the <code>SO_TIMEOUT</code> value on this socket.<br/>
- If a value smaller or equal to 0 is presented, the code will default this value to frequency
- </p>
- </attribute>
-
-
- </attributes>
-
-
- </subsection>
-
-
-</section>
-
-
-</body>
-
-</document>
Deleted: trunk/webapps/docs/config/cluster-receiver.xml
===================================================================
--- trunk/webapps/docs/config/cluster-receiver.xml 2007-09-05 10:18:48 UTC (rev 264)
+++ trunk/webapps/docs/config/cluster-receiver.xml 2007-09-05 14:51:59 UTC (rev 265)
@@ -1,142 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE document [
- <!ENTITY project SYSTEM "project.xml">
-]>
-<document url="cluster-receiver.html">
-
- &project;
-
- <properties>
- <author email="fhanik(a)apache.org">Filip Hanik</author>
- <title>The Cluster Receiver object</title>
- </properties>
-
-<body>
-
-
-<section name="Introduction">
- <p>
- The receiver component is responsible for receiving cluster messages.
- As you might notice through the configuration, is that the receiving of messages
- and sending of messages are two different components, this is different from many other
- frameworks, but there is a good reason for it, to decouple the logic for how messages are sent from
- how messages are received.<br/>
- The receiver is very much like the Tomcat Connector, its the base of the thread pool
- for incoming cluster messages. The receiver is straight forward, but all the socket settings
- for incoming traffic are managed here.
- </p>
-</section>
-
-<section name="Blocking vs Non-Blocking Receiver">
- <p>
- The receiver supports both a non blocking, <code>org.apache.catalina.tribes.transport.nio.NioReceiver</code>, and a
- blocking, <code>org.apache.catalina.tribes.transport.bio.BioReceiver</code>. It is preferred to use the non blocking receiver
- to be able to grow your cluster without running into thread starvation.<br/>
- Using the non blocking receiver allows you to with a very limited thread count to serve a large number of messages.
- Usually the rule is to use 1 thread per node in the cluster for small clusters, and then depending on your message frequency
- and your hardware, you'll find an optimal number of threads peak out at a certain number.
- </p>
-</section>
-
-<section name="Attributes">
- <subsection name="Common Attributes">
- <attributes>
- <attribute name="className" required="true">
- The implementation of the receiver component. Two implementations available,
- <code>org.apache.catalina.tribes.transport.nio.NioReceiver</code> and
- <code>org.apache.catalina.tribes.transport.bio.BioReceiver</code>.<br/>
- The <code>org.apache.catalina.tribes.transport.nio.NioReceiver</code> is the
- preferred implementation
- </attribute>
- <attribute name="address" required="false">
- The address (network interface) to listen for incoming traffic.
- Same as the bind address. The default value is <code>auto</code> and translates to
- <code>java.net.InetAddress.getLocalHost().getHostAddress()</code>.
- </attribute>
- <attribute name="direct" required="false">
- Possible values are <code>true</code> or <code>false</code>.
- Set to true if you want the receiver to use direct bytebuffers when reading data
- from the sockets.
- </attribute>
- <attribute name="port" required="false">
- The listen port for incoming data. The default value is <code>4000</code>.
- To avoid port conflicts the receiver will automatically bind to a free port within the range of
- <code> port <= bindPort <= port+autoBind</code>
- So for example, if port is 4000, and autoBind is set to 10, then the receiver will open up
- a server socket on the first available port in the range 4000-4100.
- </attribute>
- <attribute name="autoBind" required="false">
- Default value is <code>100</code>.
- Use this value if you wish to automatically avoid port conflicts the cluster receiver will try to open a
- server socket on the <code>port</code> attribute port, and then work up <code>autoBind</code> number of times.
- </attribute>
- <attribute name="securePort" required="false">
- The secure listen port. This port is SSL enabled. If this attribute is omitted no SSL port is opened up.
- There default value is unset, meaning there is no SSL socket available.
- </attribute>
- <attribute name="selectorTimeout" required="false">
- The value in milliseconds for the polling timeout in the <code>NioReceiver</code>. On older versions of the JDK
- there have been bugs, that should all now be cleared out where the selector never woke up.
- The default value is a very high <code>5000</code> milliseconds.
- </attribute>
- <attribute name="maxThreads" required="false">
- The maximum number of threads in the receiver thread pool. The default value is <code>6</code>
- Adjust this value relative to the number of nodes in the cluster, the number of messages being exchanged and
- the hardware you are running on. A higher value doesn't mean more effiecency, tune this value according to your
- own test results.
- </attribute>
- <attribute name="minThreads" required="false">
- Minimum number of threads to be created when the receiver is started up. Default value is <code>6</code>
- </attribute>
- <attribute name="ooBInline" required="false">
- Boolean value for the socket OOBINLINE option. Possible values are <code>true</code> or <code>false</code>.
- </attribute>
- <attribute name="rxBufSize" required="false">
- The receiver buffer size on the receiving sockets. Value is in bytes, the default value is <code>43800</code> bytes.
- </attribute>
- <attribute name="txBufSize" required="false">
- The sending buffer size on the receiving sockets. Value is in bytes, the default value is <code>25188</code> bytes.
- </attribute>
- <attribute name="soKeepAlive" required="false">
- Boolean value for the socket SO_KEEPALIVE option. Possible values are <code>true</code> or <code>false</code>.
- </attribute>
- <attribute name="soLingerOn" required="false">
- Boolean value to determine whether to use the SO_LINGER socket option.
- Possible values are <code>true</code> or <code>false</code>. Default value is <code>true</code>.
- </attribute>
- <attribute name="soLingerTime" required="false">
- Sets the SO_LINGER socket option time value. The value is in seconds.
- The default value is <code>3</code> seconds.
- </attribute>
- <attribute name="soReuseAddress" required="false">
- Boolean value for the socket SO_REUSEADDR option. Possible values are <code>true</code> or <code>false</code>.
- </attribute>
- <attribute name="soTrafficClass" required="false">
- Sets the traffic class level for the socket, the value is between 0 and 255.
- Different values are defined in <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/net/Socket.html#setTrafficCl...">
- java.net.Socket#setTrafficClass(int)</a>.
- </attribute>
- <attribute name="tcpNoDelay" required="false">
- Boolean value for the socket TCP_NODELAY option. Possible values are <code>true</code> or <code>false</code>.
- The default value is <code>true</code>
- </attribute>
- <attribute name="timeout" required="false">
- Sets the SO_TIMEOUT option on the socket. The value is in milliseconds and the default value is <code>3000</code>
- milliseconds.
- </attribute>
- <attribute name="useBufferPool" required="false">
- Boolean value whether to use a shared buffer pool of cached <code>org.apache.catalina.tribes.io.XByteBuffer</code>
- objects. If set to true, the XByteBuffer that is used to pass a message up the channel, will be recycled at the end
- of the requests. This means that interceptors in the channel must not maintain a reference to the object
- after the <code>org.apache.catalina.tribes.ChannelInterceptor#messageReceived</code> method has exited.
- </attribute>
- </attributes>
- </subsection>
- <subsection name="NioReceiver">
- </subsection>
- <subsection name="BioReceiver">
- </subsection>
-
-</section>
-</body>
-</document>
Deleted: trunk/webapps/docs/config/cluster-sender.xml
===================================================================
--- trunk/webapps/docs/config/cluster-sender.xml 2007-09-05 10:18:48 UTC (rev 264)
+++ trunk/webapps/docs/config/cluster-sender.xml 2007-09-05 14:51:59 UTC (rev 265)
@@ -1,147 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE document [
- <!ENTITY project SYSTEM "project.xml">
-]>
-<document url="cluster-sender.html">
-
- &project;
-
- <properties>
- <author email="fhanik(a)apache.org">Filip Hanik</author>
- <title>The Cluster Sender object</title>
- </properties>
-
-<body>
-
-
-<section name="Introduction">
- <p>
- The channel sender component is responsible for delivering outgoing cluster messages over the network.
- In the default implementation, <code>org.apache.catalina.tribes.transport.ReplicationTransmitter</code>,
- the sender is a fairly empty shell with not much logic around a fairly complex <code><Transport></code>
- component the implements the actual delivery mechanism.
- </p>
-</section>
-
-<section name="Concurrent Parallel Delivery">
- <p>
- In the default <code>transport</code> implementation, <code>org.apache.catalina.tribes.transport.nio.PooledParallelSender</code>,
- Apache Tribes implements what we like to call "Concurrent Parallel Delivery".
- This means that we can send a message to more than one destination at the same time(parallel), and
- deliver two messages to the same destination at the same time(concurrent). Combine these two and we have
- "Concurrent Parallel Delivery".
- </p>
- <p>
- When is this useful? The simplest example we can think of is when part of your code is sending a 10MB message,
- like a war file being deployed, and you need to push through a small 10KB message, say a session being replicated,
- you don't have to wait for the 10MB message to finish, as a separate thread will push in the small message
- transmission at the same time. Currently there is no interrupt, pause or priority mechanism avaiable, but check back soon.
- </p>
-</section>
-
-<section name="Nested Elements">
- <p>
- The nested element <code><Transport></code> is is not required, by encouraged, as this is where
- you would set all the socket options for the outgoing messages. Please see its attributes below.
- There are two implementations, in a similar manner to the <a href="cluster-receiver.html">receiver</a>, one is non-blocking
- based and the other is built using blocking IO. <br/>
- <code>org.apache.catalina.tribes.transport.bio.PooledMultiSender</code> is the blocking implemenation and
- <code>org.apache.catalina.tribes.transport.nio.PooledParallelSender</code>.
- Parallel delivery is not available for the blocking implementation due to the fact that it is blocking a thread on sending data.
- </p>
-</section>
-
-<section name="Attributes">
- <subsection name="Common Sender Attributes">
- <attributes>
- <attribute name="className" required="true">
- Required, only available implementation is <code>org.apache.catalina.tribes.transport.ReplicationTransmitter</code>
- </attribute>
- </attributes>
- </subsection>
- <subsection name="Common Transport Attributes">
- <attributes>
- <attribute name="className" required="true">
- Required, an implementation of the <code>org.apache.catalina.tribes.transport.MultiPointSender</code>.<br/>
- Non-blocking implementation is <code>org.apache.catalina.tribes.transport.nio.PooledParallelSender</code><br/>
- Blocking implementation is <code>org.apache.catalina.tribes.transport.bio.PooledMultiSender</code>
- </attribute>
- <attribute name="rxBufSize" required="false">
- The receive buffer size on the socket.
- Default value is <code>25188</code> bytes.
- </attribute>
- <attribute name="txBufSize" required="false">
- The send buffer size on the socket.
- Default value is <code>43800</code> bytes.
- </attribute>
- <attribute name="direct" required="false">
- Possible values are <code>true</code> or <code>false</code>.
- Set to true if you want the receiver to use direct bytebuffers when reading data
- from the sockets. Default value is <code>false</code>
- </attribute>
- <attribute name="keepAliveCount" required="false">
- The number of requests that can go through the socket before the socket is closed, and reopened
- for the next request. The default value is <code>-1</code>, which is unlimited.
- </attribute>
- <attribute name="keepAliveTime" required="false">
- The number of milliseconds a connection is kept open after its been opened.
- The default value is <code>-1</code>, which is unlimited.
- </attribute>
- <attribute name="timeout" required="false">
- Sets the SO_TIMEOUT option on the socket. The value is in milliseconds and the default value is <code>3000</code>
- milliseconds.
- </attribute>
- <attribute name="maxRetryAttempts" required="false">
- How many times do we retry a failed message, that received a IOException at the socket level.
- The default value is <code>1</code>, meaning we will retry a message that has failed once.
- In other words, we will attempt a message send no more than twice. One is the original send, and one is the
- <code>maxRetryAttempts</code>.
- </attribute>
- <attribute name="ooBInline" required="false">
- Boolean value for the socket OOBINLINE option. Possible values are <code>true</code> or <code>false</code>.
- </attribute>
- <attribute name="soKeepAlive" required="false">
- Boolean value for the socket SO_KEEPALIVE option. Possible values are <code>true</code> or <code>false</code>.
- </attribute>
- <attribute name="soLingerOn" required="false">
- Boolean value to determine whether to use the SO_LINGER socket option.
- Possible values are <code>true</code> or <code>false</code>. Default value is <code>true</code>.
- </attribute>
- <attribute name="soLingerTime" required="false">
- Sets the SO_LINGER socket option time value. The value is in seconds.
- The default value is <code>3</code> seconds.
- </attribute>
- <attribute name="soReuseAddress" required="false">
- Boolean value for the socket SO_REUSEADDR option. Possible values are <code>true</code> or <code>false</code>.
- </attribute>
- <attribute name="soTrafficClass" required="false">
- Sets the traffic class level for the socket, the value is between 0 and 255.
- Default value is <code>int soTrafficClass = 0x04 | 0x08 | 0x010;</code>
- Different values are defined in <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/net/Socket.html#setTrafficCl...">
- java.net.Socket#setTrafficClass(int)</a>.
- </attribute>
- <attribute name="tcpNoDelay" required="false">
- Boolean value for the socket TCP_NODELAY option. Possible values are <code>true</code> or <code>false</code>.
- The default value is <code>true</code>
- </attribute>
- <attribute name="throwOnFailedAck" required="false">
- Boolean value, default value is <code>true</code>.
- If set to true, the sender will throw a <code>org.apache.catalina.tribes.RemoteProcessException</code>
- when we receive a negative ack from the remote member.
- Set to false, and Tribes will treat a positive ack the same way as a negative ack, that the message was received.
- </attribute>
- </attributes>
- </subsection>
- <subsection name="PooledParallelSender Attributes">
- <attributes>
- <attribute name="poolSize" required="false">
- The maximum number of concurrent connections from A to B.
- The value is based on a per-destination count.
- The default value is <code>25</code>
- </attribute>
-
- </attributes>
- </subsection>
-</section>
-</body>
-</document>
Deleted: trunk/webapps/docs/config/cluster-valve.xml
===================================================================
--- trunk/webapps/docs/config/cluster-valve.xml 2007-09-05 10:18:48 UTC (rev 264)
+++ trunk/webapps/docs/config/cluster-valve.xml 2007-09-05 14:51:59 UTC (rev 265)
@@ -1,87 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE document [
- <!ENTITY project SYSTEM "project.xml">
-]>
-<document url="cluster-valve.html">
-
- &project;
-
- <properties>
- <author email="fhanik(a)apache.org">Filip Hanik</author>
- <title>The Cluster Valve object</title>
- </properties>
-
-<body>
-
-
-<section name="Introduction">
- <p>
- A cluster valve is no different from any other <a href="valve.html">Tomcat <code>Valve</code></a>.
- The cluster valves are interceptors in the invokation chain for HTTP requests, and the clustering implementation
- uses these valves to make intelligent decision around data and when data should be replicated.
- </p>
- <p>
- A cluster valve must implement the <code>org.apache.catalina.ha.ClusterValve</code> interface.
- This is a simple interface that extends the <code>org.apache.catalina.Valve</code> interface.
- </p>
-</section>
-
-<section name="org.apache.catalina.ha.tcp.ReplicationValve">
- The <code>ReplicationValve</code> will notify the cluster at the end of a HTTP request
- so that the cluster can make a decision whether there is data to be replicated or not.
- <subsection name="Attributes">
- <attributes>
- <attribute name="className" required="true">
- Set value to <code>org.apache.catalina.ha.tcp.ReplicationValve</code>
- </attribute>
- <attribute name="filter" required="false">
- For known file extensions or urls, you can use a filter to
- notify the cluster that the session has not been modified during this
- request and the cluster doesn't have to probe the session managers for changes.
- If there is a filter match, the cluster assumes there has been no session change.
- An example filter would look like <code>filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"</code>
- The filter uses regular expressions and each filter is delimited by a semi colon.
- <code>Pattern#compile(java.lang.String)</code>
- </attribute>
- <attribute name="primaryIndicator" required="false">
- Boolean value, so to true, and the replication valve will insert a request attribute with the name
- defined by the <code>primaryIndicatorName</code> attribute.
- The value inserted into the request attribute is either <code>Boolean.TRUE</code> or
- <code>Boolean.FALSE</code>
- </attribute>
- <attribute name="primaryIndicatorName" required="false">
- Default value is <code>org.apache.catalina.ha.tcp.isPrimarySession</code>
- The value defined here is the name of the request attribute that contains the boolean value
- if the session is primary on this server or not.
- </attribute>
- <attribute name="statistics" required="false">
- Boolean value. Set to <code>true</code> if you want the valve to collect request statistics.
- Default value is <code>false</code>
- </attribute>
- </attributes>
- </subsection>
-</section>
-
-<section name="org.apache.catalina.ha.session.JvmRouteBinderValve">
- In case of a mod_jk failover, the <code>JvmRouteBinderValve</code> will replace the
- <code>jvmWorker</code> attribute in the session Id, to make future requests stick to this
- node. If you want failback capability, don't enable this valve, but if you want your failover to stick,
- and for mod_jk not to have to keep probing the node that went down, you use this valve.
- <subsection name="Attributes">
- <attributes>
- <attribute name="className" required="true">
- <code>org.apache.catalina.ha.session.JvmRouteBinderValve</code>
- </attribute>
- <attribute name="enabled" required="false">
- Default value is <code>true</code>
- Runtime attribute to turn on and off turn over of the session's jvmRoute value.
- </attribute>
-
- </attributes>
- </subsection>
-</section>
-
-
-</body>
-
-</document>
Deleted: trunk/webapps/docs/config/cluster.xml
===================================================================
--- trunk/webapps/docs/config/cluster.xml 2007-09-05 10:18:48 UTC (rev 264)
+++ trunk/webapps/docs/config/cluster.xml 2007-09-05 14:51:59 UTC (rev 265)
@@ -1,135 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE document [
- <!ENTITY project SYSTEM "project.xml">
-]>
-<document url="cluster.html">
-
- &project;
-
- <properties>
- <author email="fhanik(a)apache.org">Filip Hanik</author>
- <title>The Cluster object</title>
- </properties>
-
-<body>
-
-
-<section name="Introduction">
- <p>
- The tomcat cluster implementation provides session replication, context attribute replication and
- cluster wide WAR file deployment.
- While the <code>Cluster</code> configuration is fairly complex, the default configuration will work
- for most people out of the box. </p><p>
- The Tomcat Cluster implementation is very extensible, and hence we have exposed a myriad of options,
- making the configuration seem like a lot, but don't lose faith, instead you have a tremendous control
- over what is going on.</p>
-</section>
-<section name="Engine vs Host placement">
- <p>
- You can place the <code><Cluster></code> element inside either the <code><Engine></code>
- container or the <code><Host></code> container.<br/>
- Placing it in the engine, means that you will support clustering in all virtual hosts of Tomcat,
- and share the messaging component. When you place the <code><Cluster></code> inside the <code><Engine></code>
- element, the cluster will append the host name of each session manager to the managers name so that two contexts with
- the same name but sitting inside two different hosts will be distinguishable.
- </p>
-</section>
-<section name="Context Attribute Replication">
- <p>To configure context attribute replication, simply do this by swapping out the context implementation
- used for your application context.
- <source><Context className="org.apache.catalina.ha.context.ReplicatedContext"/></source>
- This context extends the Tomcat <code><a href="context.html">StandardContext</a></code>
- so all the options from the <a href="context.html">base implementation</a> are valid.
- </p>
-</section>
-<section name="Nested Components">
- <p><b><a href="cluster-manager.html">Manager</a>:</b> <br/>
- The session manager element identifies what kind of session manager is used in this cluster implementation.
- This manager configuration is identical to the one you would use in a regular <code><a href="context.html#Nested%20xComponents"><Context></a></code> configuration.
- <br/>The default value is the <code>org.apache.catalina.ha.session.DeltaManager</code> that is closely coupled with
- the <code>SimpleTcpCluster</code> implementation. Other managers like the <code>org.apache.catalina.ha.session.BackupManager</code>
- are/could be loosely coupled and don't rely on the <code>SimpleTcpCluster</code> for its data replication.
- </p>
- <p><b><a href="cluster-channel.html">Channel</a>:</b> <br/>
- The Channel and its sub components are all part of the IO layer
- for the cluster group, and is a module in it's own that we have nick named "Tribes"
- <br/>
- Any configuring and tuning of the network layer, the messaging and the membership logic
- will be done in the channel and its nested components.
- You can always find out more about <a href="../tribes/introduction.html">Apache Tribes</a>
- </p>
- <p><b><a href="cluster-valve.html">Valve</a>:</b> <br/>
- The Tomcat Cluster implementation uses <code>Tomcat <a href="valve.html">Valves</a></code> to
- track when requests enter and exit the servlet container. It uses these valves to be able to make
- intelligent decisions on when to replicate data, which is always at the end of a request.
- </p>
- <p><b><a href="cluster-deployer.html">Deployer</a>:</b> <br/>
- The Deployer component is the Tomcat Farm Deployer. It allows you to deploy and undeploy applications
- cluster wide.
- </p>
- <p><b><a href="cluster-listener.html">ClusterListener</a>:</b> <br/>
- ClusterListener's are used to track messages sent and received using the <code>SimpleTcpCluster</code>.
- If you wish to track messages, you can add a listener here, or you can add a valve to the channel object.
- </p>
-</section>
-
-<section name="Deprecated configuration options">
- <p>
- <b>Deprecated settings:</b> In the previous version of Tomcat you were able to control session
- manager settings using manager.<property>=value.
- This has been discontinued, as the way it was written interfers with
- the ability to support multiple different manager classes under one cluster implementation,
- as the same properties might have the different effect on different managers.
- </p>
-</section>
-
-<section name="Attributes">
- <subsection name="SimpleTcpCluster Attributes">
- <attributes>
- <attribute name="className" required="true">
- <p>The main cluster class, currently only one is available,
- <code>org.apache.catalina.ha.tcp.SimpleTcpCluster</code>
- </p>
- </attribute>
- <attribute name="channelSendOptions" required="true">
- <p>The Tribes channel send options, default is 11.<br/>
- This option is used to set the flag that all messages sent through the
- SimpleTcpCluster uses. The flag decides how the messages are sent, and is a simple logical OR.<br/>
-
- <source>
- int options= Channel.SEND_OPTIONS_ASYNCHRONOUS |
- Channel.SEND_OPTIONS_SYNCHRONIZED_ACK |
- Channel.SEND_OPTIONS_USE_ACK;
- </source>
- Some of the values are:<br/>
- <code>Channel.SEND_OPTIONS_SYNCHRONIZED_ACK = 0x0004</code><br/>
- <code>Channel.SEND_OPTIONS_ASYNCHRONOUS = 0x0008</code><br/>
- <code>Channel.SEND_OPTIONS_USE_ACK = 0x0002</code><br/>
- So to use ACK and ASYNC messaging, the flag would be <code>10 (8+2) or 0x000B</code><br/>
- </p>
- </attribute>
-
- <attribute name="heartbeatBackgroundEnabled" required="false">
- <p>Enable this flag don't forget to disable the channel heartbeat thread.
- </p>
- </attribute>
-
- <attribute name="doClusterLog" required="false">
- <p><b>Deprecated since 6.0.0</b></p>
- <p>Possible values are <code>true</code> or <code>false</code><br/>
- Value is inherited from Tomcat 5.5 and has no official meaning.
- to configure logging, use the standard tomcat logging configuration.
- </p>
- </attribute>
- <attribute name="clusterLogName" required="false">
- <p><b>Deprecated since 6.0.0</b></p>
- <p>
- Value is inherited from Tomcat 5.5 and has no official meaning.
- to configure logging, use the standard tomcat logging configuration.
- </p>
- </attribute>
- </attributes>
- </subsection>
-</section>
-</body>
-</document>
Modified: trunk/webapps/docs/config/context.xml
===================================================================
--- trunk/webapps/docs/config/context.xml 2007-09-05 10:18:48 UTC (rev 264)
+++ trunk/webapps/docs/config/context.xml 2007-09-05 14:51:59 UTC (rev 265)
@@ -24,7 +24,7 @@
2.2 or later). For more information about web application archives,
you can download the
<a href="http://java.sun.com/products/servlet/download.html">Servlet
- Specification</a>, and review the Tomcat
+ Specification</a>, and review the JBoss Web
<a href="../appdev/index.html">Application Developer's Guide</a>.</p>
<p>The web application used to process each HTTP request is selected
@@ -43,11 +43,11 @@
web application for this virtual host, and is used to process all
requests that do not match any other Context's context path.</p>
- <p><b>For Tomcat 6, unlike Tomcat 4.x, it is NOT recommended to place
+ <p><b>For JBoss Web, unlike Tomcat 4.x, it is NOT recommended to place
<Context> elements directly in the server.xml file.</b> This
is because it makes modifing the <strong>Context</strong> configuration
more invasive since the main <code>conf/server.xml</code> file cannot be
- reloaded without restarting Tomcat.</p>
+ reloaded without restarting JBoss Web.</p>
<p><strong>Context</strong> elements may be explicitly defined:
<ul>
@@ -79,9 +79,9 @@
<blockquote><em>
<p>The description below uses the variable name $CATALINA_HOME
- to refer to the directory into which you have installed Tomcat 5,
+ to refer to the directory into which you have installed JBoss Web,
and is the base directory against which most relative paths are
- resolved. However, if you have configured Tomcat 5 for multiple
+ resolved. However, if you have configured Tomcat for multiple
instances by setting a CATALINA_BASE directory, you should use
$CATALINA_BASE instead of $CATALINA_HOME for each of these
references.</p>
@@ -155,7 +155,7 @@
with our owning <a href="host.html">Host</a>. By default, settings
in the DefaultContext element will be used.</p>
<p>If a symbolic link is used for docBase then changes to the
- symbolic link will only be effective after a Tomcat restart or
+ symbolic link will only be effective after a JBoss Web restart or
by undeploying and redeploying the conext. A context reload is not
sufficient.</p>
</attribute>
@@ -223,7 +223,7 @@
</attribute>
<attribute name="antiJARLocking" required="false">
- <p>If true, the Tomcat classloader will take extra measures to avoid
+ <p>If true, the JBoss Web classloader will take extra measures to avoid
JAR file locking when resources are accessed inside JARs through URLs.
This will impact startup time of applications, but could prove to be useful
on platforms or configurations where file locking can occur.
@@ -231,7 +231,7 @@
</attribute>
<attribute name="antiResourceLocking" required="false">
- <p>If true, Tomcat will prevent any file locking.
+ <p>If true, JBoss Web will prevent any file locking.
This will significantly impact startup time of applications,
but allows full webapp hot deploy and undeploy on platforms
or configurations where file locking can occur.
@@ -246,7 +246,7 @@
Please note that setting this flag to true in applications that are
outside the appBase for the Host (the <code>webapps</code> directory
by default) will cause the application to be
- <strong>deleted</strong> on Tomcat shutdown. You probably don't want to
+ <strong>deleted</strong> on JBoss Web shutdown. You probably don't want to
do this, so think twice before setting antiResourceLocking=true on a webapp
that's outside the appBase for its Host.
</p>
@@ -316,7 +316,7 @@
</attribute>
<attribute name="unpackWAR" required="false">
- <p>If true, Tomcat will unpack all compressed web applications before
+ <p>If true, JBoss Web will unpack all compressed web applications before
running them.
If not specified, the default value is <code>true</code>.</p>
</attribute>
@@ -648,7 +648,7 @@
<code><resource-env-ref></code> elements in the web application
deployment descriptor. You <strong>MUST</strong> also define
the needed resource parameters as attributes of the <code>Resource</code>
- element, to configure the object factory to be used (if not known to Tomcat
+ element, to configure the object factory to be used (if not known to JBoss Web
already), and the properties used to configure that object factory.</p>
<p>For example, you can create a resource definition like this:</p>
Modified: trunk/webapps/docs/config/engine.xml
===================================================================
--- trunk/webapps/docs/config/engine.xml 2007-09-05 10:18:48 UTC (rev 264)
+++ trunk/webapps/docs/config/engine.xml 2007-09-05 14:51:59 UTC (rev 265)
@@ -70,9 +70,9 @@
<attribute name="jvmRoute" required="false">
<p>Identifier which must be used in load balancing scenarios to enable
session affinity. The identifier, which must be unique across all
- Tomcat 5 servers which participate in the cluster, will be appended to
+ JBoss Web servers which participate in the cluster, will be appended to
the generated session identifier, therefore allowing the front end
- proxy to always forward a particular session to the same Tomcat 5
+ proxy to always forward a particular session to the same JBoss Web
instance.</p>
</attribute>
Modified: trunk/webapps/docs/config/executor.xml
===================================================================
--- trunk/webapps/docs/config/executor.xml 2007-09-05 10:18:48 UTC (rev 264)
+++ trunk/webapps/docs/config/executor.xml 2007-09-05 14:51:59 UTC (rev 265)
@@ -17,7 +17,7 @@
<section name="Introduction">
<p>The <strong>Executor</strong> represents a thread pool that can be shared
- between components in Tomcat. Historically there has been a thread pool per
+ between components in JBoss Web. Historically there has been a thread pool per
connector created but this allows you to share a thread pool, between (primarly) connector
but also other components when those get configured to support executors</p>
Modified: trunk/webapps/docs/config/globalresources.xml
===================================================================
--- trunk/webapps/docs/config/globalresources.xml 2007-09-05 10:18:48 UTC (rev 264)
+++ trunk/webapps/docs/config/globalresources.xml 2007-09-05 14:51:59 UTC (rev 265)
@@ -128,7 +128,7 @@
You <strong>MUST</strong> also define any other needed parameters using
attributes on the Resource element, to configure
- the object factory to be used (if not known to Tomcat already), and
+ the object factory to be used (if not known to JBoss Web already), and
the properties used to configure that object factory.</p>
<p>For example, you can create a resource definition like this:</p>
Modified: trunk/webapps/docs/config/host.xml
===================================================================
--- trunk/webapps/docs/config/host.xml 2007-09-05 10:18:48 UTC (rev 264)
+++ trunk/webapps/docs/config/host.xml 2007-09-05 14:51:59 UTC (rev 265)
@@ -41,9 +41,9 @@
<blockquote><em>
<p>The description below uses the variable name $CATALINA_HOME
- to refer to the directory into which you have installed Tomcat 6,
+ to refer to the directory into which you have installed JBoss Web,
and is the base directory against which most relative paths are
- resolved. However, if you have configured Tomcat 6 for multiple
+ resolved. However, if you have configured JBoss Web for multiple
instances by setting a CATALINA_BASE directory, you should use
$CATALINA_BASE instead of $CATALINA_HOME for each of these
references.</p>
@@ -74,7 +74,7 @@
<attribute name="autoDeploy" required="false">
<p>This flag value indicates if new web applications, dropped in to
- the <code>appBase</code> directory while Tomcat is running, should
+ the <code>appBase</code> directory while JBoss Web is running, should
be automatically deployed. The flag's value defaults to true. See
<a href="#Automatic Application Deployment">Automatic Application
Deployment</a> for more information.</p>
@@ -149,7 +149,7 @@
<p>Java class name of the error reporting valve which will be used
by this Host. The responsability of this valve is to output error
reports. Setting this property allows to customize the look of the
- error pages which will be generated by Tomcat. This class must
+ error pages which will be generated by JBoss Web. This class must
implement the
<code>org.apache.catalina.Valve</code> interface. If none is specified,
the value <code>org.apache.catalina.valves.ErrorReportValve</code>
@@ -279,7 +279,7 @@
directory of the same name (without the ".war" extension) will be
automatically expanded, unless the <code>unpackWARs</code> property
is set to <code>false</code>. If you redeploy an updated WAR file,
- be sure to delete the expanded directory when restarting Tomcat, so
+ be sure to delete the expanded directory when restarting JBoss Web, so
that the updated WAR file will be re-expanded (note that the auto
deployer, if enabled, will automatically expand the updated WAR file
once the previously expanded directory is removed).</li>
@@ -299,7 +299,7 @@
you can also request that new XML configuration files, WAR files, or
subdirectories that are dropped in to the <code>appBase</code> (or
<code>$CATALINA_HOME/conf/[engine_name]/[host_name]</code> in the case of
- an XML configuration file) directory while Tomcat is running will be
+ an XML configuration file) directory while JBoss Web is running will be
automatically deployed, according to the rules described above. The
auto deployer will also track web applications for the following changes:
<ul>
Modified: trunk/webapps/docs/config/http.xml
===================================================================
--- trunk/webapps/docs/config/http.xml 2007-09-05 10:18:48 UTC (rev 264)
+++ trunk/webapps/docs/config/http.xml 2007-09-05 14:51:59 UTC (rev 265)
@@ -198,13 +198,13 @@
</attribute>
<attribute name="useIPVHosts" required="false">
- <p>Set this attribute to <code>true</code> to cause Tomcat to use
+ <p>Set this attribute to <code>true</code> to cause JBoss Web to use
the IP address that the request was recieved on to determine the Host
to send the request to. The default value is <code>false</code>.</p>
</attribute>
<attribute name="xpoweredBy" required="false">
- <p>Set this attribute to <code>true</code> to cause Tomcat to advertise
+ <p>Set this attribute to <code>true</code> to cause JBoss Web to advertise
support for the Servlet specification using the header recommended in the
specification. The default value is <code>false</code>.</p>
</attribute>
@@ -372,193 +372,6 @@
</subsection>
- <subsection name="Nio Implementation">
-
- <p>The NIO connector exposes all the low level socket properties that can be used to tune the connector.
- Most of these attributes are directly linked to the socket implementation in the JDK so you can find out
- about the actual meaning in the JDK API documentation.<br/>
- <strong>Note</strong>On some JDK versions, setTrafficClass causes a problem, a work around for this is to add
- the <code>-Djava.net.preferIPv4Stack=true</code> value to your command line</p>
-
- <attributes>
- <attribute name="useSendfile" required="false">
- <p>(bool)Use this attribute to enable or disable sendfile capability.
- The default value is <code>true</code>
- </p>
- </attribute>
- <attribute name="useExecutor" required="false">
- <p>(bool)Set to true to use the NIO thread pool executor. The default value is <code>true</code>.
- If set to false, it uses a thread pool based on a stack for its execution.
- Generally, using the executor yields a little bit slower performance, but yields a better
- fairness for processing connections in a high load environment as the traffic gets queued through a
- FIFO queue. If set to true(default) then the max pool size is the <code>maxThreads</code> attribute
- and the core pool size is the <code>minSpareThreads</code>.
- This value is ignored if the <code>executor</code> attribute is present and points to a valid shared thread pool.
- </p>
- </attribute>
- <attribute name="acceptorThreadCount" required="false">
- <p>(int)The number of threads to be used to accept connections. Increase this value on a multi CPU machine,
- although you would never really need more than <code>2</code>. Also, with a lot of non keep alive connections,
- you might want to increase this value as well. Default value is <code>1</code>.</p>
- </attribute>
- <attribute name="pollerThreadCount" required="false">
- <p>(int)The number of threads to be used to run for the polling events. Default value is <code>1</code>.
- Can't see a reason to go above that. But experiment and find your own results.</p>
- </attribute>
- <attribute name="pollerThreadPriority" required="false">
- <p>(int)The priority of the poller threads.
- The default value is <code>java.lang.Thread#NORM_PRIORITY</code>.
- See the JavaDoc for the java.lang.Thread class for more details on
- what this priority means.
- </p>
- </attribute>
- <attribute name="acceptorThreadPriority" required="false">
- <p>(int)The priority of the acceptor threads. The threads used to accept new connections.
- The default value is <code>java.lang.Thread#NORM_PRIORITY</code>.
- See the JavaDoc for the java.lang.Thread class for more details on
- what this priority means.
- </p>
- </attribute>
-
- <attribute name="selectorTimeout" required="false">
- <p>(int)The time in milliseconds to timeout on a select() for the poller.
- This value is important, since connection clean up is done on the same thread, so dont set this
- value to an extremely high one. The default value is <code>1000</code> milliseconds.</p>
- </attribute>
- <attribute name="useComet" required="false">
- <p>(bool)Whether to allow comet servlets or not, Default value is <code>true</code>.</p>
- </attribute>
- <attribute name="processCache" required="false">
- <p>(int)The protocol handler caches Http11NioProcessor objects to speed up performance.
- This setting dictates how many of these objects get cached.
- <code>-1</code> means unlimited, default is <code>200</code>. Set this value somewhere close to your maxThreads value.
- </p>
- </attribute>
- <attribute name="socket.directBuffer" required="false">
- <p>(bool)Boolean value, whether to use direct ByteBuffers or java mapped ByteBuffers. Default is <code>false</code>
- <br/>When you are using direct buffers, make sure you allocate the appropriate amount of memory for the
- direct memory space. On Sun's JDK that would be something like <code>-XX:MaxDirectMemorySize=256m</code></p>
- </attribute>
- <attribute name="socket.rxBufSize" required="false">
- <p>(int)The socket receive buffer (SO_RCVBUF) size in bytes. Default value is <code>25188</code></p>
- </attribute>
- <attribute name="socket.txBufSize" required="false">
- <p>(int)The socket send buffer (SO_SNDBUF) size in bytes. Default value is <code>43800</code></p>
- </attribute>
- <attribute name="socket.appReadBufSize" required="false">
- <p>(int)Each connection that is opened up in Tomcat get associated with a read and a write ByteBuffer
- This attribute controls the size of these buffers. By default this read buffer is sized at <code>8192</code> bytes.
- For lower concurrency, you can increase this to buffer more data.
- For an extreme amount of keep alive connections, decrease this number or increase your heap size.</p>
- </attribute>
- <attribute name="socket.appWriteBufSize" required="false">
- <p>(int)Each connection that is opened up in Tomcat get associated with a read and a write ByteBuffer
- This attribute controls the size of these buffers. By default this write buffer is sized at <code>8192</code> bytes.
- For low concurrency you can increase this to buffer more response data.
- For an extreme amount of keep alive connections, decrease this number or increase your heap size.
- <br/>
- The default value here is pretty low, you should up it if you are not dealing with tens of thousands
- concurrent connections.</p>
- </attribute>
- <attribute name="socket.bufferPool" required="false">
- <p>(int)The Nio connector uses a class called NioChannel that holds elements linked to a socket.
- To reduce garbage collection, the Nio connector caches these channel objects.
- This value specifies the size of this cache.
- The default value is <code>500</code>, and represents that the cache will hold 500 NioChannel objects.
- Other values are <code>-1</code>. unlimited cache, and <code>0</code>, no cache.</p>
- </attribute>
- <attribute name="socket.bufferPoolSize" required="false">
- <p>(int)The NioChannel pool can also be size based, not used object based. The size is calculated as follows:<br/>
- NioChannel <code>buffer size = read buffer size + write buffer size</code><br/>
- SecureNioChannel <code>buffer size = application read buffer size + application write buffer size + network read buffer size + network write buffer size</code><br/>
- The value is in bytes, the default value is <code>1024*1024*100</code> (100MB)
- </p>
- </attribute>
- <attribute name="socket.processorCache" required="false">
- <p>(int)Tomcat will cache SocketProcessor objects to reduce garbage collection.
- The integer value specifies how many objects to keep in the cache at most.
- The default is <code>500</code>.
- Other values are <code>-1</code>. unlimited cache, and <code>0</code>, no cache.</p>
- </attribute>
- <attribute name="socket.keyCache" required="false">
- <p>(int)Tomcat will cache KeyAttachment objects to reduce garbage collection.
- The integer value specifies how many objects to keep in the cache at most.
- The default is <code>500</code>.
- Other values are <code>-1</code>. unlimited cache, and <code>0</code>, no cache.</p>
- </attribute>
- <attribute name="socket.eventCache" required="false">
- <p>(int)Tomcat will cache PollerEvent objects to reduce garbage collection.
- The integer value specifies how many objects to keep in the cache at most.
- The default is <code>500</code>.
- Other values are <code>-1</code>. unlimited cache, and <code>0</code>, no cache.</p>
- </attribute>
- <attribute name="socket.tcpNoDelay" required="false">
- <p>(bool)same as the standard setting <code>tcpNoDelay</code>. Default value is <code>false</code></p>
- </attribute>
- <attribute name="socket.soKeepAlive" required="false">
- <p>(bool)Boolean value for the socket's keep alive setting (SO_KEEPALIVE). Default is <code>false</code>. </p>
- </attribute>
- <attribute name="socket.ooBInline" required="false">
- <p>(bool)Boolean value for the socket OOBINLINE setting. Default value is <code>true</code></p>
- </attribute>
- <attribute name="socket.soReuseAddress" required="false">
- <p>(bool)Boolean value for the sockets reuse address option (SO_REUSEADDR). Default value is <code>true</code></p>
- </attribute>
- <attribute name="socket.soLingerOn" required="false">
- <p>(bool)Boolean value for the sockets so linger option (SO_LINGER). Default value is <code>true</code>.
- This option is paired with the <code>soLingerTime</code> value.</p>
- </attribute>
- <attribute name="socket.soLingerTime" required="false">
- <p>(bool)Value in seconds for the sockets so linger option (SO_LINGER). Default value is <code>25</code> seconds.
- This option is paired with the soLinger value.</p>
- </attribute>
- <attribute name="socket.soTimeout" required="false">
- <p>(int)Value in milliseconds for the sockets read timeout (SO_TIMEOUT). Default value is <code>5000</code> milliseconds.</p>
- </attribute>
- <attribute name="socket.soTrafficClass" required="false">
- <p>(byte)Value between <code>0</code> and <code>255</code> for the traffic class on the socket, <code>0x04 | 0x08 | 0x010</code></p>
- </attribute>
- <attribute name="socket.performanceConnectionTime" required="false">
- <p>(int)The first value for the performance settings. Default is <code>1</code>, see <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/net/Socket.html#setPerforman...">Socket Performance Options</a></p>
- </attribute>
- <attribute name="socket.performanceLatency" required="false">
- <p>(int)The second value for the performance settings. Default is <code>0</code>, see <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/net/Socket.html#setPerforman...">Socket Performance Options</a></p>
- </attribute>
- <attribute name="socket.performanceBandwidth" required="false">
- <p>(int)The third value for the performance settings. Default is <code>1</code>, see <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/net/Socket.html#setPerforman...">Socket Performance Options</a></p>
- </attribute>
- <attribute name="selectorPool.maxSelectors" required="false">
- <p>(int)The max selectors to be used in the pool, to reduce selector contention.
- Use this option when the command line <code>org.apache.tomcat.util.net.NioSelectorShared</code> value is set to false.
- Default value is <code>200</code>.</p>
- </attribute>
- <attribute name="selectorPool.maxSpareSelectors" required="false">
- <p>(int)The max spare selectors to be used in the pool, to reduce selector contention.
- When a selector is returned to the pool, the system can decide to keep it or let it be GC:ed.
- Use this option when the command line <code>org.apache.tomcat.util.net.NioSelectorShared</code> value is set to false.
- Default value is <code>-1</code> (unlimited)</p>
- </attribute>
- <attribute name="command-line-options" required="false">
- <p>The following command line options are available for the NIO connector:<br/>
- <code>-Dorg.apache.tomcat.util.net.NioSelectorShared=true|false</code> - default is <code>true</code>.
- Set this value to false if you wish to use a selector for each thread.
- the property. If you do set it to false, you can control the size of the pool of selectors by using the
- selectorPool.maxSelectors attribute</p>
- </attribute>
- <attribute name="oomParachute" required="false">
- <p>(int)The NIO connector implements an OutOfMemoryError strategy called parachute.
- It holds a chunk of data as a byte array. In case of an OOM,
- this chunk of data is released and the error is reported. This will give the VM enough room
- to clean up. The <code>oomParachute</code> represent the size in bytes of the parachute(the byte array).
- The default value is <code>1024*1024</code>(1MB).
- Please note, this only works for OOM errors regarding the Java Heap space, and there is absolutely no
- guarantee that you will be able to recover at all.
- If you have an OOM outside of the Java Heap, then this parachute trick will not help.
- </p>
- </attribute>
- </attributes>
- </subsection>
-
</section>
@@ -594,7 +407,7 @@
<subsection name="Proxy Support">
<p>The <code>proxyName</code> and <code>proxyPort</code> attributes can
- be used when Tomcat is run behind a proxy server. These attributes
+ be used when JBoss Web is run behind a proxy server. These attributes
modify the values returned to web applications that call the
<code>request.getServerName()</code> and <code>request.getServerPort()</code>
methods, which are often used to construct absolute URLs for redirects.
@@ -641,7 +454,7 @@
<p>The pathname of the keystore file where you have stored the
server certificate to be loaded. By default, the pathname is
the file "<code>.keystore</code>" in the operating system home
- directory of the user that is running Tomcat.</p>
+ directory of the user that is running JBoss Web.</p>
</attribute>
<attribute name="keystorePass" required="false">
@@ -690,26 +503,7 @@
<a href="../ssl-howto.html">SSL Configuration HOW-TO</a>.</p>
</subsection>
- <subsection name="Connector Comparison">
- <p>Below is a small chart that shows how the connectors differentiate.</p>
- <source>
- Java Blocking Connector Java Nio Blocking Connector APR Connector
- Classname Http11Protocol Http11NioProtocol Http11AprProtocol
- Tomcat Version 3.x 4.x 5.x 6.x 6.x 5.5.x 6.x
- Support Polling NO YES YES
- Polling Size N/A Unlimited - Restricted by mem Unlimited
- Read HTTP Request Blocking Non Blocking Blocking
- Read HTTP Body Blocking Blocking Blocking
- Write HTTP Response Blocking Blocking Blocking
- SSL Support Java SSL Java SSL OpenSSL
- SSL Handshake Blocking Non blocking Blocking
- Max Connections maxThreads See polling size See polling size
-
-
- </source>
-
- </subsection>
</section>
Modified: trunk/webapps/docs/config/index.xml
===================================================================
--- trunk/webapps/docs/config/index.xml 2007-09-05 10:18:48 UTC (rev 264)
+++ trunk/webapps/docs/config/index.xml 2007-09-05 14:51:59 UTC (rev 265)
@@ -18,7 +18,7 @@
<p>This manual contains reference information about all of the configuration
directives that can be included in a <code>conf/server.xml</code> file to
-configure the behavior of the Tomcat 6 Servlet/JSP container. It does not
+configure the behavior of the JBoss Web Servlet/JSP container. It does not
attempt to describe which configuration directives should be used to perform
specific tasks - for that, see the various <em>HOW-TO</em> documents on the
main index page.</p>
Modified: trunk/webapps/docs/config/loader.xml
===================================================================
--- trunk/webapps/docs/config/loader.xml 2007-09-05 10:18:48 UTC (rev 264)
+++ trunk/webapps/docs/config/loader.xml 2007-09-05 14:51:59 UTC (rev 265)
@@ -39,9 +39,9 @@
<blockquote><em>
<p>The description below uses the variable name $CATALINA_HOME
- to refer to the directory into which you have installed Tomcat 6,
+ to refer to the directory into which you have installed JBoss Web,
and is the base directory against which most relative paths are
- resolved. However, if you have configured Tomcat 6 for multiple
+ resolved. However, if you have configured JBoss Web for multiple
instances by setting a CATALINA_BASE directory, you should use
$CATALINA_BASE instead of $CATALINA_HOME for each of these
references.</p>
Modified: trunk/webapps/docs/config/manager.xml
===================================================================
--- trunk/webapps/docs/config/manager.xml 2007-09-05 10:18:48 UTC (rev 264)
+++ trunk/webapps/docs/config/manager.xml 2007-09-05 14:51:59 UTC (rev 265)
@@ -65,10 +65,10 @@
<subsection name="Standard Implementation">
- <p>Tomcat provides two standard implementations of <strong>Manager</strong>
+ <p>JBoss Web provides two standard implementations of <strong>Manager</strong>
for use - the default one stores active sessions, while the optional one
stores active sessions that have been swapped out (in addition to saving
- sessions across a restart of Tomcat) in a storage location that is selected
+ sessions across a restart of JBoss Web) in a storage location that is selected
via the use of an appropriate <strong>Store</strong> nested element.</p>
<h3>Standard Manager Implementation</h3>
@@ -154,7 +154,7 @@
addition to the usual operations of creating and deleting sessions, a
<code>PersistentManager</code> has the capability to swap active (but
idle) sessions out to a persistent storage mechanism, as well as to save
- all sessions across a normal restart of Tomcat. The actual persistent
+ all sessions across a normal restart of JBoss Web. The actual persistent
storage mechanism used is selected by your choice of a
<strong>Store</strong> element nested inside the <strong>Manager</strong>
element - this is required for use of <code>PersistentManager</code>.</p>
@@ -237,7 +237,7 @@
</attribute>
<attribute name="saveOnRestart" required="false">
- <p>Should all sessions be persisted and reloaded when Tomcat is shut
+ <p>Should all sessions be persisted and reloaded when JBoss Web is shut
down and restarted (or when this application is reloaded)? By default,
this attribute is set to <code>true</code>.</p>
</attribute>
@@ -370,7 +370,7 @@
session table, that contains the session identifier of the
swapped out session. The column type must accept character
string data of at least as many characters as are contained
- in session identifiers created by Tomcat (typically 32).</p>
+ in session identifiers created by JBoss Web (typically 32).</p>
</attribute>
<attribute name="sessionLastAccessedCol" required="true">
@@ -420,7 +420,7 @@
</source>
<p>In order for the JDBC Based Store to successfully connect to your
- database, the JDBC driver you configure must be visible to Tomcat's
+ database, the JDBC driver you configure must be visible to JBoss Web's
internal class loader. Generally, that means you must place the JAR
file containing this driver into the <code>$CATALINA_HOME/server/lib</code>
directory (if your applications do not also need it) or into the
Modified: trunk/webapps/docs/config/project.xml
===================================================================
--- trunk/webapps/docs/config/project.xml 2007-09-05 10:18:48 UTC (rev 264)
+++ trunk/webapps/docs/config/project.xml 2007-09-05 14:51:59 UTC (rev 265)
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<project name="Apache Tomcat Configuration Reference"
- href="http://tomcat.apache.org/">
+<project name="JBoss Web Configuration Reference"
+ href="http://labs.jboss.com/jbossweb/">
- <title>Apache Tomcat Configuration Reference</title>
+ <title>JBoss Web Configuration Reference</title>
- <logo href="/images/tomcat.gif">
- The Apache Tomcat Servlet/JSP Container
+ <logo href="/images/jbossweb.gif">
+ The JBoss Web Servlet/JSP Container
</logo>
@@ -34,7 +34,6 @@
<item name="Context" href="context.html"/>
<item name="Engine" href="engine.html"/>
<item name="Host" href="host.html"/>
- <item name="Cluster" href="cluster.html"/>
</menu>
<menu name="Nested Components">
@@ -46,18 +45,6 @@
<item name="Valve" href="valve.html"/>
</menu>
- <menu name="Cluster Elements">
- <item name="Cluster" href="cluster.html"/>
- <item name="Manager" href="cluster-manager.html"/>
- <item name="Channel" href="cluster-channel.html"/>
- <item name="Channel/Membership" href="cluster-membership.html"/>
- <item name="Channel/Sender" href="cluster-sender.html"/>
- <item name="Channel/Receiver" href="cluster-receiver.html"/>
- <item name="Channel/Interceptor" href="cluster-interceptor.html"/>
- <item name="Valve" href="cluster-valve.html"/>
- <item name="Deployer" href="cluster-deployer.html"/>
- <item name="ClusterListener" href="cluster-listener.html"/>
- </menu>
</body>
</project>
Modified: trunk/webapps/docs/config/realm.xml
===================================================================
--- trunk/webapps/docs/config/realm.xml 2007-09-05 10:18:48 UTC (rev 264)
+++ trunk/webapps/docs/config/realm.xml 2007-09-05 14:51:59 UTC (rev 265)
@@ -38,9 +38,9 @@
<blockquote><em>
<p>The description below uses the variable name $CATALINA_HOME
- to refer to the directory into which you have installed Tomcat 6,
+ to refer to the directory into which you have installed JBoss Web,
and is the base directory against which most relative paths are
- resolved. However, if you have configured Tomcat 6 for multiple
+ resolved. However, if you have configured JBoss Web for multiple
instances by setting a CATALINA_BASE directory, you should use
$CATALINA_BASE instead of $CATALINA_HOME for each of these
references.</p>
Modified: trunk/webapps/docs/config/server.xml
===================================================================
--- trunk/webapps/docs/config/server.xml 2007-09-05 10:18:48 UTC (rev 264)
+++ trunk/webapps/docs/config/server.xml 2007-09-05 14:51:59 UTC (rev 265)
@@ -43,12 +43,12 @@
<attribute name="port" required="true">
<p>The TCP/IP port number on which this server waits for a shutdown
command. This connection must be initiated from the same server
- computer that is running this instance of Tomcat.</p>
+ computer that is running this instance of JBoss Web.</p>
</attribute>
<attribute name="shutdown" required="true">
<p>The command string that must be received via a TCP/IP connection
- to the specified port number, in order to shut down Tomcat.</p>
+ to the specified port number, in order to shut down JBoss Web.</p>
</attribute>
</attributes>
Modified: trunk/webapps/docs/config/valve.xml
===================================================================
--- trunk/webapps/docs/config/valve.xml 2007-09-05 10:18:48 UTC (rev 264)
+++ trunk/webapps/docs/config/valve.xml 2007-09-05 14:51:59 UTC (rev 265)
@@ -25,9 +25,9 @@
<blockquote><em>
<p>The description below uses the variable name $CATALINA_HOME
- to refer to the directory into which you have installed Tomcat 6,
+ to refer to the directory into which you have installed JBoss Web,
and is the base directory against which most relative paths are
- resolved. However, if you have configured Tomcat 6 for multiple
+ resolved. However, if you have configured JBoss Web for multiple
instances by setting a CATALINA_BASE directory, you should use
$CATALINA_BASE instead of $CATALINA_HOME for each of these
references.</p>
@@ -205,7 +205,7 @@
presented to this container for processing before it will be passed on.</p>
<p>The syntax for <em>regular expressions</em> is different than that for
- 'standard' wildcard matching. Tomcat uses the <code>java.util.regex</code>
+ 'standard' wildcard matching. JBoss Web uses the <code>java.util.regex</code>
package. Please consult the Java documentation for details of the
expressions supported.</p>
@@ -261,7 +261,7 @@
presented to this container for processing before it will be passed on.</p>
<p>The syntax for <em>regular expressions</em> is different than that for
- 'standard' wildcard matching. Tomcat uses the <code>java.util.regex</code>
+ 'standard' wildcard matching. JBoss Web uses the <code>java.util.regex</code>
package. Please consult the Java documentation for details of the
expressions supported.</p>
@@ -310,7 +310,7 @@
<p>The <em>Request Dumper Valve</em> is a useful tool in debugging
interactions with a client application (or browser) that is sending
- HTTP requests to your Tomcat-based server. When configured, it causes
+ HTTP requests to your JBoss Web-based server. When configured, it causes
details about each request processed by its associated <code>Engine</code>,
<code>Host</code>, or <code>Context</code> to be logged according to
the logging configuration for that container.</p>
Modified: trunk/webapps/docs/jndi-datasource-examples-howto.xml
===================================================================
--- trunk/webapps/docs/jndi-datasource-examples-howto.xml 2007-09-05 10:18:48 UTC (rev 264)
+++ trunk/webapps/docs/jndi-datasource-examples-howto.xml 2007-09-05 14:51:59 UTC (rev 265)
@@ -45,7 +45,7 @@
<b>Please note that JNDI resource configuration changed somewhat between
Tomcat 5.0.x and Tomcat 5.5.x.</b> You will most likely need to modify older
JNDI resource configurations to match the syntax in the example below in order
-to make them work in Tomcat 6.x.x.
+to make them work in Tomcat 6.x.x and JBoss Web.
</p>
<p>
@@ -193,7 +193,7 @@
</p>
<h3>2. Context configuration</h3>
-<p>Configure the JNDI DataSource in Tomcat by adding a declaration for your
+<p>Configure the JNDI DataSource in JBoss Web by adding a declaration for your
resource to your <a href="config/context.html">Context</a>.</p>
<p>For example:
@@ -305,7 +305,7 @@
<p>Oracle requires minimal changes from the MySQL configuration except for the
usual gotchas :-)</p>
<p>Drivers for older Oracle versions may be distributed as *.zip files rather
-than *.jar files. Tomcat will only use <code>*.jar</code> files installed in
+than *.jar files. JBoss Web will only use <code>*.jar</code> files installed in
<code>$CATALINA_HOME/lib</code>. Therefore <code>classes111.zip</code>
or <code>classes12.zip</code> will need to be renamed with a <code>.jar</code>
extension. Since jarfiles are zipfiles, there is no need to unzip and jar these
@@ -373,14 +373,14 @@
<h3>2. Resource configuration</h3>
<p>
-You have two choices here: define a datasource that is shared across all Tomcat
+You have two choices here: define a datasource that is shared across all JBoss Web
applications, or define a datasource specifically for one application.
</p>
<h4>2a. Shared resource configuration</h4>
<p>
Use this option if you wish to define a datasource that is shared across
-multiple Tomcat applications, or if you just prefer defining your datasource
+multiple JBoss Web applications, or if you just prefer defining your datasource
in this file.
</p>
<p><i>This author has not had success here, although others have reported so.
@@ -396,8 +396,8 @@
<p>
Use this option if you wish to define a datasource specific to your application,
-not visible to other Tomcat applications. This method is less invasive to your
-Tomcat installation.
+not visible to other JBoss Web applications. This method is less invasive to your
+JBoss Web installation.
</p>
<p>
@@ -469,9 +469,9 @@
</p>
<p>
After renaming <code>classes12.zip</code> file to <code>classes12.jar</code>
-for Tomcat, copy it into <code>$CATALINA_HOME/lib</code>.
+for JBoss Web, copy it into <code>$CATALINA_HOME/lib</code>.
You may also have to remove the <code>javax.sql.*</code> classes
-from this file depending upon the version of Tomcat and JDK you are using.
+from this file depending upon the version of JBoss Web and JDK you are using.
</p>
</subsection>
@@ -532,16 +532,16 @@
<subsection name="Intermittent dB Connection Failures">
<p>
-Tomcat runs within a JVM. The JVM periodically performs garbage collection
+JBoss Web runs within a JVM. The JVM periodically performs garbage collection
(GC) to remove java objects which are no longer being used. When the JVM
-performs GC execution of code within Tomcat freezes. If the maximum time
+performs GC execution of code within JBoss Web freezes. If the maximum time
configured for establishment of a dB connection is less than the amount
of time garbage collection took you can get a db conneciton failure.
</p>
<p>To collect data on how long garbage collection is taking add the
<code>-verbose:gc</code> argument to your <code>CATALINA_OPTS</code>
-environment variable when starting Tomcat. When verbose gc is enabled
+environment variable when starting JBoss Web. When verbose gc is enabled
your <code>$CATALINA_BASE/logs/catalina.out</code> log file will include
data for every garbage collection including how long it took.</p>
@@ -559,9 +559,9 @@
These can occur when one request gets a db connection from the connection
pool and closes it twice. When using a connection pool, closing the
connection just returns it to the pool for reuse by another request,
-it doesn't close the connection. And Tomcat uses multiple threads to
+it doesn't close the connection. And JBoss Web uses multiple threads to
handle concurrent requests. Here is an example of the sequence
-of events which could cause this error in Tomcat:
+of events which could cause this error in JBoss Web:
<pre>
Request 1 running in Thread 1 gets a db connection.
Modified: trunk/webapps/docs/jndi-resources-howto.xml
===================================================================
--- trunk/webapps/docs/jndi-resources-howto.xml 2007-09-05 10:18:48 UTC (rev 264)
+++ trunk/webapps/docs/jndi-resources-howto.xml 2007-09-05 14:51:59 UTC (rev 265)
@@ -17,7 +17,7 @@
<section name="Introduction">
-<p>Tomcat 6 provides a JNDI <strong>InitialContext</strong> implementation
+<p>JBoss Web provides a JNDI <strong>InitialContext</strong> implementation
instance for each web application running under it, in a manner that is
compatible with those provided by a
<a href="http://java.sun.com/j2ee">Java2 Enterprise Edition</a> application
@@ -28,14 +28,14 @@
referenced in these elements must be defined in an application-server-specific configuration.
</p>
-<p>For Tomcat 6, these entries in per-web-application
+<p>For JBoss Web, these entries in per-web-application
<code>InitialContext</code> are configured in the
<code><strong><Context></strong></code> elements that can be specified
in either <code>$CATALINA_HOME/conf/server.xml</code> or, preferably,
the per-web-application context XML file (either <code>META-INF/context.xml</code>).
</p>
-<p>Tomcat 6 maintains a separate namespace of global resources for the
+<p>JBoss Web maintains a separate namespace of global resources for the
entire server. These are configured in the
<a href="config/globalresources.html">
<code><strong><GlobalNameingResources></strong></code></a> element of
@@ -54,7 +54,7 @@
<li><code><strong><resource-ref></strong></code> - Resource reference,
which is typically to an object factory for resources such as a JDBC
<code>DataSource</code>, a JavaMail <code>Session</code>, or custom
- object factories configured into Tomcat 6.</li>
+ object factories configured into JBoss Web.</li>
<li><code><strong><resource-env-ref></strong></code> - Resource
environment reference, a new variation of <code>resource-ref</code>
added in Servlet 2.4 that is simpler to configure for resources
@@ -85,7 +85,7 @@
<p>See the following Specifications for more information about programming APIs
for JNDI, and for the features supported by Java2 Enterprise Edition (J2EE)
-servers, which Tomcat emulates for the services that it provides:</p>
+servers, which JBoss Web emulates for the services that it provides:</p>
<ul>
<li><a href="http://java.sun.com/products/jndi/#download">Java Naming and
Directory Interface</a> (included in JDK 1.4, available separately for
@@ -150,9 +150,9 @@
</section>
-<section name="Tomcat Standard Resource Factories">
+<section name="JBoss Web Standard Resource Factories">
- <p>Tomcat 6 includes a series of standard resource factories that can
+ <p>JBoss Web includes a series of standard resource factories that can
provide services to your web applications, but give you configuration
flexibility (in <code>$CATALINA_HOME/conf/server.xml</code>) without
modifying the web application or the deployment descriptor. Each
@@ -162,14 +162,14 @@
<p>See <a href="#Adding Custom Resource Factories">Adding Custom
Resource Factories</a> for information about how to create, install,
configure, and use your own custom resource factory classes with
- Tomcat 6.</p>
+ JBoss Web.</p>
<p><em>NOTE</em> - Of the standard resource factories, only the
"JDBC Data Source" and "User Transaction" factories are mandated to
be available on other platforms, and then they are required only if
the platform implements the Java2 Enterprise Edition (J2EE) specs.
All other standard resource factories, plus custom resource factories
- that you write yourself, are specific to Tomcat and cannot be assumed
+ that you write yourself, are specific to JBoss Web and cannot be assumed
to be available on other containers.</p>
<subsection name="Generic JavaBean Resources">
@@ -262,9 +262,9 @@
bean.getBar());
</source>
- <h3>4. Configure Tomcat's Resource Factory</h3>
+ <h3>4. Configure JBoss Web's Resource Factory</h3>
- <p>To configure Tomcat's resource factory, add an elements like this to the
+ <p>To configure JBoss Web's resource factory, add an elements like this to the
<code>$CATALINA_HOME/conf/server.xml</code> file, nested inside the
<code>Context</code> element for this web application.</p>
<source>
@@ -300,7 +300,7 @@
configuration details that the client application must be aware of
(including the name of the SMTP host to be used for message sending).</p>
- <p>Tomcat 6 includes a standard resource factory that will create
+ <p>JBoss Web includes a standard resource factory that will create
<code>javax.mail.Session</code> session instances for you, already
connected to the SMTP server that is configured in <code>server.xml</code>.
In this way, the application is totally insulated from changes in the
@@ -367,9 +367,9 @@
is matched up against the resource factory that is configured in
<code>$CATALINA_HOME/conf/server.xml</code>, as described below.</p>
- <h3>3. Configure Tomcat's Resource Factory</h3>
+ <h3>3. Configure JBoss Web's Resource Factory</h3>
- <p>To configure Tomcat's resource factory, add an elements like this to the
+ <p>To configure JBoss Web's resource factory, add an elements like this to the
<code>$CATALINA_HOME/conf/server.xml</code> file, nested inside the
<code>Context</code> element for this web application.</p>
<source>
@@ -398,7 +398,7 @@
<p>This download includes 2 vital libraries for the configuration;
activation.jar and mail.jar. Unpackage both distributions and place
them into $CATALINA_HOME/lib so that they are available to
- Tomcat during the initialization of the mail Session Resource.
+ JBoss Web during the initialization of the mail Session Resource.
<strong>Note:</strong> placing these jars in both common/lib and a
web application's lib folder will cause an error, so ensure you have
them in the $CATALINA_HOME/lib location only.
@@ -406,7 +406,7 @@
<h3>Example Application</h3>
- <p>The <code>/examples</code> application included with Tomcat contains
+ <p>The <code>/examples</code> application included with JBoss Web contains
an example of utilizing this resource factory. It is accessed via the
"JSP Examples" link. The source code for the servlet that actually
sends the mail message is in
@@ -429,9 +429,9 @@
to support the functionality required by that application. The J2EE
Platform Specification requires J2EE Application Servers to make
available a <em>DataSource</em> implementation (that is, a connection
- pool for JDBC connections) for this purpose. Tomcat 6 offers exactly
+ pool for JDBC connections) for this purpose. JBoss Web offers exactly
the same support, so that database-based applications you develop on
- Tomcat using this service will run unchanged on any J2EE server.</p>
+ JBoss Web using this service will run unchanged on any J2EE server.</p>
<p>For information about JDBC, you should consult the following:</p>
<ul>
@@ -448,7 +448,7 @@
all J2EE platforms must provide to applications).</li>
</ul>
- <p><strong>NOTE</strong> - The default data source support in Tomcat
+ <p><strong>NOTE</strong> - The default data source support in JBoss Web
is based on the <strong>DBCP</strong> connection pool from the
<a href="http://jakarta.apache.org/commons">Jakarta Commons</a>
subproject. However, it is possible to use any other connection pool
@@ -459,7 +459,7 @@
<h3>1. Install Your JDBC Driver</h3>
<p>Use of the <em>JDBC Data Sources</em> JNDI Resource Factory requires
- that you make an appropriate JDBC driver available to both Tomcat internal
+ that you make an appropriate JDBC driver available to both JBoss Web internal
classes and to your web application. This is most easily accomplished by
installing the driver's JAR file(s) into the
<code>$CATALINA_HOME/lib</code> directory, which makes the driver
@@ -518,9 +518,9 @@
is matched up against the resource factory that is configured in
<code>$CATALINA_HOME/conf/server.xml</code>, as described below.</p>
- <h3>4. Configure Tomcat's Resource Factory</h3>
+ <h3>4. Configure JBoss Web's Resource Factory</h3>
- <p>To configure Tomcat's resource factory, add an element like this to the
+ <p>To configure JBoss Web's resource factory, add an element like this to the
<code>/META-INF/context.xml</code> file in the web application.</p>
<source>
<Context ...>
@@ -541,7 +541,7 @@
<code>driverName</code> parameters to match your actual database's
JDBC driver and connection URL.</p>
- <p>The configuration properties for Tomcat's standard data source
+ <p>The configuration properties for JBoss Web's standard data source
resource factory
(<code>org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory</code>) are
as follows:</p>
@@ -577,7 +577,7 @@
<section name="Adding Custom Resource Factories">
<p>If none of the standard resource factories meet your needs, you can
- write your own factory and integrate it into Tomcat 6, and then configure
+ write your own factory and integrate it into JBoss Web, and then configure
the use of this factory in the <code>conf/server.xml</code> configuration
file. In the example below, we will create a factory that only knows how
to create <code>com.mycompany.MyBean</code> beans, from the
@@ -594,7 +594,7 @@
<ul>
<li><strong>Object obj</strong> - The (possibly null) object containing
location or reference information that can be used in creating an
- object. For Tomcat, this will always be an object of type
+ object. For JBoss Web, this will always be an object of type
<code>javax.naming.Reference</code>, which contains the class name
of this factory class, as well as the configuration properties
(from <code>conf/server.xml</code>) to use in creating objects
@@ -607,7 +607,7 @@
<code>name</code> is relative to the default initial context.</li>
<li><strong>Hashtable environment</strong> - The (possibly null)
environment that is used in creating this object. This is generally
- ignored in Tomcat object factories.</li>
+ ignored in JBoss Web object factories.</li>
</ul>
<p>To create a resource factory that knows how to produce <code>MyBean</code>
@@ -722,9 +722,9 @@
bean.getBar());
</source>
- <h3>4. Configure Tomcat's Resource Factory</h3>
+ <h3>4. Configure JBoss Web's Resource Factory</h3>
- <p>To configure Tomcat's resource factory, add an elements like this to the
+ <p>To configure JBoss Web's resource factory, add an elements like this to the
<code>$CATALINA_HOME/conf/server.xml</code> file, nested inside the
<code>Context</code> element for this web application.</p>
<source>
Modified: trunk/webapps/docs/legal.xml
===================================================================
--- trunk/webapps/docs/legal.xml 2007-09-05 10:18:48 UTC (rev 264)
+++ trunk/webapps/docs/legal.xml 2007-09-05 14:51:59 UTC (rev 265)
@@ -9,6 +9,11 @@
<body>
<section name="License">
+
+ <p>This software is based on Apache Tomcat 6.0 (http://tomcat.apache.org/), developed
+ by the Apache Software Foundation.</p>
+
+
<p>JBossWeb is released under the LGPL License.</p>
<br/>
Modified: trunk/webapps/docs/logging.xml
===================================================================
--- trunk/webapps/docs/logging.xml 2007-09-05 10:18:48 UTC (rev 264)
+++ trunk/webapps/docs/logging.xml 2007-09-05 14:51:59 UTC (rev 265)
@@ -7,7 +7,7 @@
&project;
<properties>
- <title>Logging in Tomcat</title>
+ <title>Logging in JBoss Web</title>
<author>Allistair Crossley</author>
<author email="yoavs(a)apache.org">Yoav Shapira</author>
</properties>
@@ -16,7 +16,7 @@
<section name="Important note">
<p>
- By default, only java.util.logging is available for the core Tomcat, as Tomcat uses
+ By default, only java.util.logging is available for the core JBoss Web, as JBoss Web uses
a package renamed logging implementation which is hardcoded for that logger. Usage of
alternate loggers is available after building the extra components (see
the <a href="extras.html">extras components</a> documentation), which includes
@@ -26,37 +26,32 @@
<section name="Introduction">
<p>
- Tomcat 6.0 uses
- <a href="http://jakarta.apache.org/commons/logging">Commons Logging</a>
- throughout its internal code allowing the
- developer to choose a logging configuration that suits their needs, e.g
- java.util.logging or
- <a href="http://logging.apache.org/log4j">Log4J</a>.
- Commons Logging provides Tomcat the ability to log
+ JBoss Web uses JBoss Logging throughout its internal code.
+ JBoss Logging provides JBoss Web the ability to log
hierarchially across various log levels without needing to rely on a particular
logging implementation.
</p>
<p>
- An important consequence for Tomcat 6.0 is that the <Logger> element found in
- previous versions to create a <code>localhost_log</code> is no longer a valid nested element
- of <Context>. Instead, the default Tomcat configuration will use java.util.logging.
- If the developer wishes to collect detailed internal Tomcat logging (i.e what is happening
- within the Tomcat engine), then they should configure a logging system such as java.util.logging
+ An important consequence for JBoss Web is that the <Logger> element found in
+ versions of Tomcat prior to 6.0 to create a <code>localhost_log</code> is no longer a valid nested element
+ of <Context>. Instead, the default JBoss Web configuration will use java.util.logging.
+ If the developer wishes to collect detailed internal JBoss Web logging (i.e what is happening
+ within the JBoss Web engine), then they should configure a logging system such as java.util.logging
or log4j as detailed next.
</p>
</section>
-
+<!--
<section name="log4j">
<p>
- Tomcat 6.0 has done away with <code>localhost_log</code> which you may be familiar with
+ JBoss Web has done away with <code>localhost_log</code> which you may be familiar with
as the runtime exception/stack trace log. These types of error are usually thrown
by uncaught exceptions, but are still valuable to the developer. They can now be
found in the <code>stdout</code> log.
</p>
<p>
- If you need to setup cross-context detailed logging from within Tomcat's code,
+ If you need to setup cross-context detailed logging from within JBoss Web's code,
then you can use a simple log4j configuration. Note that this logging van be very
verbose depending on the log level you chose to use. Note also that a log4j logging
configuration is not going to produce stack trace type logging: those stack traces
@@ -65,7 +60,7 @@
<p>
Follow the following steps to setup a file named tomcat.log that has internal
- Tomcat logging output to it:
+ JBoss Web logging output to it:
</p>
<p>
@@ -88,7 +83,7 @@
(v1.2 or later) and place the log4j jar in $CATALINA_HOME/lib.</li>
<li>Build the commons-logging additional component using the extras.xml
- Ant build script which is part of teh Tomcat source bundle.</li>
+ Ant build script which is part of teh JBoss Web source bundle.</li>
<li>Replace <code>$CATALINA_HOME/bin/tomcat-juli.jar</code> with
<code>output/extras/tomcat-juli.jar</code>.</li>
@@ -96,20 +91,20 @@
<li>Place <code>output/extras/tomcat-juli-adapters.jar</code> in
$CATALINA_HOME/lib.</li>
- <li>Start Tomcat</li>
+ <li>Start JBoss Web</li>
</ol>
</p>
<p>
This log4j configuration sets up a file called tomcat.log in your
- Tomcat logs folder with a maximum file size of 10MB and
+ JBoss Web logs folder with a maximum file size of 10MB and
up to 10 backups. DEBUG level is specified which will result in the
- most verbose output from Tomcat.
+ most verbose output from JBoss Web.
</p>
<p>
You can (and should) be more picky about which packages to include
- in the logging. Tomcat 6 uses defines loggers by Engine and Host names.
+ in the logging. JBoss Web uses defines loggers by Engine and Host names.
For example, for a default Catalina localhost log, add this to the
end of the log4j.properties above. Note that there are known issues with
using this naming convention (with square brackets) in log4j XML based
@@ -123,7 +118,7 @@
</ul>
Be warned a level of DEBUG will produce megabytes of logging and slow startup
- of Tomcat. This level should be used sparingly when debugging of internal Tomcat
+ of JBoss Web. This level should be used sparingly when debugging of internal JBoss Web
operations is required.
</p>
@@ -139,13 +134,14 @@
</p>
</section>
+-->
<section name="java.util.logging">
<p>
The default implemenatation of java.util.logging provided in the JDK is too limited to be
useful. A limitation of JDK Logging appears to be the inability to have per-web application logging,
- as the configuration is per-VM. As a result, Tomcat will, in the default configuration,
+ as the configuration is per-VM. As a result, JBoss Web will, in the default configuration,
replace the default LogManager implementation with a container friendly implementation
called JULI, which addresses these shortcomings. It supports the same configuration mechanisms
as the standard JDK java.util.logging, using either a programmatic approach, or properties
@@ -154,18 +150,18 @@
constructs which allows more freedom for defining handlers and assigning them to loggers.
</p>
<p>
- JULI is enabled by default in Tomcat 6.0, and supports per classloader configuration, in addition to
+ JULI is enabled by default in JBoss Web, and supports per classloader configuration, in addition to
the regular global java.util.logging configuration. This means that logging can be configured at
the following layers:
<ul>
<li>In the JDK's logging.properties file. Check
- your JAVA_HOME environment setting to see which JDK Tomcat is using. The file will be in
+ your JAVA_HOME environment setting to see which JDK JBoss Web is using. The file will be in
<code>$JAVA_HOME/jre/lib</code>.
Alternately, it can also use a global configuration file located elsewhere by using the
system property <code>java.util.logging.config.file</code>, or programmatic configuration using
<code>java.util.logging.config.class</code>.</li>
<li>In each classloader using a logging.properties file. This means that it is possible to have a
- configuration for the Tomcat core, as well as separate configurations for each webapps which will
+ configuration for the JBoss Web core, as well as separate configurations for each webapps which will
have the same lifecycle as the webapps.</li>
</ul>
</p>
@@ -174,7 +170,7 @@
also a FileHandler. A handler's log level threshold can be set using SEVERE, WARNING, INFO,
CONFIG, FINE, FINER, FINEST or ALL. The logging.properties shipped with JDK is set to INFO. You
can also target specific packages to collect logging from and specify a level. Here is how
- you would set debugging from Tomcat. You would need to ensure the ConsoleHandler's level is also
+ you would set debugging from JBoss Web. You would need to ensure the ConsoleHandler's level is also
set to collect this threshold, so FINEST or ALL should be set. Please refer to Sun's java.util.logging
documentation for the complete details.
</p>
Modified: trunk/webapps/docs/manager-howto.xml
===================================================================
--- trunk/webapps/docs/manager-howto.xml 2007-09-05 10:18:48 UTC (rev 264)
+++ trunk/webapps/docs/manager-howto.xml 2007-09-05 14:51:59 UTC (rev 265)
@@ -55,10 +55,10 @@
to deploy a new web application, or undeploy an existing one, without having
to shut down and restart the entire container. In addition, you can request
an existing application to reload itself, even if you have not declared it
-to be <code>reloadable</code> in the Tomcat 6 server
+to be <code>reloadable</code> in the JBoss Web server
configuration file.</p>
-<p>To support these capabilities, Tomcat 6 includes a web application
+<p>To support these capabilities, JBoss Web includes a web application
(installed by default on context path <code>/manager</code>) that supports
the following functions:</p>
<ul>
@@ -89,18 +89,18 @@
in the <code>$CATALINA_HOME/conf/[enginename]/[hostname]</code> folder.
</li>
<li>Configure the Manager <code>Context</code> within the
- <code>Host</code> configuration in your Tomcat <code>server.xml</code>
+ <code>Host</code> configuration in your JBoss Web <code>server.xml</code>
configuration. Here is an example:
<pre>
<Context path="/manager" privileged="true"
- docBase="/usr/local/kinetic/tomcat6/server/webapps/manager">
+ docBase="/usr/local/jbossweb/server/webapps/manager">
</Context>
</pre>
</li>
</ul>
</p>
-<p>If you have Tomcat configured to support multiple virtual hosts
+<p>If you have JBoss Web configured to support multiple virtual hosts
(websites) you would need to configure a Manager for each.</p>
<p>There are three ways to use the <code>Manager</code> web application.
@@ -126,15 +126,15 @@
<blockquote><em>
<p>The description below uses the variable name $CATALINA_HOME
- to refer to the directory into which you have installed Tomcat 6,
+ to refer to the directory into which you have installed JBoss Web,
and is the base directory against which most relative paths are
- resolved. However, if you have configured Tomcat 6 for multiple
+ resolved. However, if you have configured JBoss Web for multiple
instances by setting a CATALINA_BASE directory, you should use
$CATALINA_BASE instead of $CATALINA_HOME for each of these
references.</p>
</em></blockquote>
-<p>It would be quite unsafe to ship Tomcat with default settings that allowed
+<p>It would be quite unsafe to ship JBoss Web with default settings that allowed
anyone on the Internet to execute the Manager application on your server.
Therefore, the Manager application is shipped with the requirement that anyone
who attempts to use it must authenticate themselves, using a username and
@@ -152,7 +152,7 @@
<ul>
<li><em>MemoryRealm</em> - If you have not customized your
<code>$CATALINA_HOME/conf/server.xml</code> to select a different one,
- Tomcat 6 defaults to an XML-format file stored at
+ JBoss Web defaults to an XML-format file stored at
<code>$CATALINA_HOME/conf/tomcat-users.xml</code>, which can be
edited with any text editor. This file contains an XML
<code><user></code> for each individual user, which might
@@ -189,7 +189,7 @@
an example of restricting access to the localhost by IP address:
<pre>
<Context path="/manager" privileged="true"
- docBase="/usr/local/kinetic/tomcat6/server/webapps/manager">
+ docBase="/usr/local/jbossweb/server/webapps/manager">
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.0\.0\.1"/>
</Context>
@@ -206,7 +206,7 @@
http://{host}:{port}/manager/{command}?{parameters}
</source>
<p>where <code>{host}</code> and <code>{port}</code> represent the hostname
-and port number on which Tomcat is running, <code>{command}</code>
+and port number on which JBoss Web is running, <code>{command}</code>
represents the Manager command you wish to execute, and
<code>{parameters}</code> represents the query parameters
that are specific to that command. In the illustrations below, customize
@@ -279,7 +279,7 @@
application can later be undeployed (and the corresponding application directory
removed) by use of the <code>/undeploy</code> command.</p>
-<p>The .WAR file may include Tomcat specific deployment configuration, by
+<p>The .WAR file may include JBoss Web specific deployment configuration, by
including a Context configuration XML file in
<code>/META-INF/context.xml</code>.</p>
@@ -318,7 +318,7 @@
<li><em>Encountered exception</em>
<blockquote>
<p>An exception was encountered trying to start the new web application.
- Check the Tomcat 6 logs for the details, but likely explanations include
+ Check the JBoss Web logs for the details, but likely explanations include
problems parsing your <code>/WEB-INF/web.xml</code> file, or missing
classes encountered when initializing application event listeners and
filters.</p>
@@ -348,7 +348,7 @@
<h3>Deploy a Directory or WAR by URL</h3>
-<p>Deploy a web application directory or ".war" file located on the Tomcat
+<p>Deploy a web application directory or ".war" file located on the JBoss Web
server. If no <code>path</code> is specified, the directory name or the war file
name without the ".war" extension is used as the path. The <code>war</code>
parameter specifies a URL (including the <code>file:</code> scheme) for either
@@ -358,7 +358,7 @@
the entire WAR file.</p>
<p>In this example the web application located in the directory
-<code>/path/to/foo</code> on the Tomcat server is deployed as the
+<code>/path/to/foo</code> on the JBoss Web server is deployed as the
web application context named <code>/footoo</code>.
<source>
http://localhost:8080/manager/deploy?path=/footoo&war=file:/path/to/foo
@@ -366,7 +366,7 @@
</p>
<p>In this example the ".war" file <code>/path/to/bar.war</code> on the
-Tomcat server is deployed as the web application context named
+JBoss Web server is deployed as the web application context named
<code>/bar</code>. Notice that there is no <code>path</code> parameter
so the context path defaults to the name of the web application archive
file without the ".war" extension.
@@ -382,7 +382,7 @@
extension is used as the path.</p>
<p>In this example the web application located in a sub directory named
-<code>foo</code> in the Host appBase directory of the Tomcat server is
+<code>foo</code> in the Host appBase directory of the JBoss Web server is
deployed as the web application context named <code>/foo</code>. Notice
that the context path used is the name of the web application directory.
<source>
@@ -391,7 +391,7 @@
</p>
<p>In this example the ".war" file <code>bar.war</code> located in your
-Host appBase directory on the Tomcat server is deployed as the web
+Host appBase directory on the JBoss Web server is deployed as the web
application context named <code>/bar</code>.
<source>
http://localhost:8080/manager/deploy?war=bar.war
@@ -408,7 +408,7 @@
<p>A Context configuration ".xml" file can contain valid XML for a
web application Context just as if it were configured in your
-Tomcat <code>server.xml</code> configuration file. Here is an
+JBoss Web <code>server.xml</code> configuration file. Here is an
example:
<source>
<Context path="/foobar" docBase="/path/to/application/foobar"
@@ -491,7 +491,7 @@
<li><em>Encountered exception</em>
<blockquote>
<p>An exception was encountered trying to start the new web application.
- Check the Tomcat 6 logs for the details, but likely explanations include
+ Check the JBoss Web logs for the details, but likely explanations include
problems parsing your <code>/WEB-INF/web.xml</code> file, or missing
classes encountered when initializing application event listeners and
filters.</p>
@@ -534,7 +534,7 @@
<p>List the context paths, current status (<code>running</code> or
<code>stopped</code>), and number of active sessions for all currently
deployed web applications. A typical response immediately
-after starting Tomcat might look like this:</p>
+after starting JBoss Web might look like this:</p>
<source>
OK - Listed applications for virtual host localhost
/webdav:running:0
@@ -574,7 +574,7 @@
<li><em>Encountered exception</em>
<blockquote>
<p>An exception was encountered trying to restart the web application.
- Check the Tomcat 6 logs for the details.</p>
+ Check the JBoss Web logs for the details.</p>
</blockquote></li>
<li><em>Invalid context path was specified</em>
<blockquote>
@@ -610,7 +610,7 @@
http://localhost:8080/manager/serverinfo
</source>
-<p>Lists information about the Tomcat version, OS, and JVM properties.</p>
+<p>Lists information about the JBoss Web version, OS, and JVM properties.</p>
<p>If an error occurs, the response will start with <code>FAIL</code> and
include an error message. Possible causes for problems include:</p>
@@ -618,7 +618,7 @@
<li><em>Encountered exception</em>
<blockquote>
<p>An exception was encountered trying to enumerate the system properties.
- Check the Tomcat 6 logs for the details.</p>
+ Check the JBoss Web logs for the details.</p>
</blockquote></li>
</ul>
@@ -663,11 +663,11 @@
<li><em>Encountered exception</em>
<blockquote>
<p>An exception was encountered trying to enumerate the global JNDI
- resources. Check the Tomcat 6 logs for the details.</p>
+ resources. Check the JBoss Web logs for the details.</p>
</blockquote></li>
<li><em>No global JNDI resources are available</em>
<blockquote>
- <p>The Tomcat server you are running has been configured without
+ <p>The JBoss Web server you are running has been configured without
global JNDI resources.</p>
</blockquote></li>
</ul>
@@ -705,7 +705,7 @@
<p>followed by one line for each security role. Each line is composed of
fields delimited by colon characters (":") as follows:</p>
<ul>
-<li><em>Security Role Name</em> - A security role name that is known to Tomcat
+<li><em>Security Role Name</em> - A security role name that is known to JBoss Web
in the user database.</li>
<li><em>Description</em> - Description of this security role (useful in
creating user interfaces for selecting roles.</li>
@@ -716,7 +716,7 @@
<ul>
<li><em>Cannot resolve user database reference</em> - A JNDI error prevented
the successful lookup of the <code>org.apache.catalina.UserDatabase</code>
- resource. Check the Tomcat log files for a stack trace associated with
+ resource. Check the JBoss Web log files for a stack trace associated with
this error.</li>
<li><em>No user database is available</em> - You have not configured a resource
reference for the <code>users</code> resource that points at an
@@ -737,7 +737,7 @@
<p>Display the default session timeout for a web application, and the
number of currently active sessions that fall within ten-minute ranges of
-their actual timeout times. For example, after restarting Tomcat and then
+their actual timeout times. For example, after restarting JBoss Web and then
executing one of the JSP samples in the <code>/examples</code> web app,
you might get something like this:</p>
<source>
@@ -772,7 +772,7 @@
<li><em>Encountered exception</em>
<blockquote>
<p>An exception was encountered trying to start the web application.
- Check the Tomcat 6 logs for the details.</p>
+ Check the JBoss Web logs for the details.</p>
</blockquote></li>
<li><em>Invalid context path was specified</em>
<blockquote>
@@ -814,7 +814,7 @@
<li><em>Encountered exception</em>
<blockquote>
<p>An exception was encountered trying to stop the web application.
- Check the Tomcat 6 logs for the details.</p>
+ Check the JBoss Web logs for the details.</p>
</blockquote></li>
<li><em>Invalid context path was specified</em>
<blockquote>
@@ -852,7 +852,7 @@
out of service, you should use the <code>/stop</code> command instead.</p>
<p>Signal an existing application to gracefully shut itself down, and
-remove it from Tomcat (which also makes this context path available for
+remove it from JBoss Web (which also makes this context path available for
reuse later). In addition, the document root directory is removed, if it
exists in the <code>appBase</code> directory (typically "webapps") for
this virtual host. This command is the logical opposite of the
@@ -869,7 +869,7 @@
<li><em>Encountered exception</em>
<blockquote>
<p>An exception was encountered trying to undeploy the web application.
- Check the Tomcat 6 logs for the details.</p>
+ Check the JBoss Web logs for the details.</p>
</blockquote></li>
<li><em>Invalid context path was specified</em>
<blockquote>
@@ -894,7 +894,7 @@
<section name="Executing Manager Commands With Ant">
<p>In addition to the ability to execute Manager commands via HTTP requests,
-as documented above, Tomcat 6 includes a convenient set of Task definitions
+as documented above, JBoss Web includes a convenient set of Task definitions
for the <em>Ant</em> (version 1.4 or later) build tool. In order to use these
commands, you must perform the following setup operations:</p>
<ul>
@@ -903,12 +903,12 @@
You must use version <strong>1.4</strong> or later.</li>
<li>Install the Ant distribution in a convenient directory (called
ANT_HOME in the remainder of these instructions).</li>
-<li>Copy the file <code>server/lib/catalina-ant.jar</code> from your Tomcat 6
+<li>Copy the file <code>server/lib/catalina-ant.jar</code> from your JBoss Web 6
installation into Ant's library directory (<code>$ANT_HOME/lib</code>).
</li>
<li>Add the <code>$ANT_HOME/bin</code> directory to your <code>PATH</code>
environment variable.</li>
-<li>Configure at least one username/password combination in your Tomcat
+<li>Configure at least one username/password combination in your JBoss Web
user database that includes the <code>manager</code> role.</li>
</ul>
@@ -969,8 +969,8 @@
</table>
<p>Now, you can execute commands like <code>ant deploy</code> to deploy the
-application to a running instance of Tomcat, or <code>ant reload</code> to
-tell Tomcat to reload it. Note also that most of the interesting values in
+application to a running instance of JBoss Web, or <code>ant reload</code> to
+tell JBoss Web to reload it. Note also that most of the interesting values in
this <code>build.xml</code> file are defined as replaceable properties, so
you can override their values from the command line. For example, you might
consider it a security risk to include the real manager password in your
@@ -1185,10 +1185,10 @@
<subsection name="What is JMX Proxy Servlet">
The JMX Proxy Servlet is a lightweight proxy to get and set the
- tomcat internals. (Or any class that has been exposed via an MBean)
+ JBoss Web internals. (Or any class that has been exposed via an MBean)
Its usage is not very user friendly but the UI is
extremely help for integrating command line scripts for monitoring
- and changing the internals of tomcat. You can do two things with the proxy:
+ and changing the internals of JBoss Web. You can do two things with the proxy:
get information and set information. For you to really understand the
JMX Proxy Servlet, you should have a general understanding of JMX.
If you don't know what JMX is, then prepare to be confused.
@@ -1220,13 +1220,13 @@
</ul>
You'll need to experiment with this to really understand its capabilites.
If you provide no <code>qry</code> parameter, then all of the MBeans will
- be displayed. We really recommend looking at the tomcat source code and
+ be displayed. We really recommend looking at the JBoss Web source code and
understand the JMX spec to get a better understanding of all the queries
you may run.
</subsection>
<subsection name="JMX Set command">
- Now that you can query an MBean, its time to muck with Tomcat's internals!
+ Now that you can query an MBean, its time to muck with JBoss Web's internals!
The general form of the set command is :
<source>
http://webserver/manager/jmxproxy/?set=BEANNAME&att=MYATTRIBUTE&v...
Deleted: trunk/webapps/docs/maven-jars.xml
===================================================================
--- trunk/webapps/docs/maven-jars.xml 2007-09-05 10:18:48 UTC (rev 264)
+++ trunk/webapps/docs/maven-jars.xml 2007-09-05 14:51:59 UTC (rev 265)
@@ -1,81 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE document [
- <!ENTITY project SYSTEM "project.xml">
-]>
-<document url="maven-jars.html">
-
- &project;
-
- <properties>
- <author email="fhanik(a)apache.org">Filip Hanik</author>
- <title>Apache Tomcat - Using Tomcat libraries with Maven</title>
- </properties>
-
-<body>
-
-
-<section name="Using Tomcat libraries With Maven">
- <subsection name="Tomcat Snapshots">
- Tomcat snapshots are located in the
- <a href="http://people.apache.org/repo/m2-snapshot-repository/org/apache/tomcat/">Apache Snapshot Repository</a>.
- The official URL is <source>http://people.apache.org/repo/m2-snapshot-repository/org/apache/tomcat/</source><br/>
- Snapshots are done periodically, not on a regular basis, but when changes happen and the Tomcat team deams a new snapshot might
- useful.
- </subsection>
- <subsection name="Tomcat Releases(staging)">
- At every release, be it alpha, beta or stable, we will publish the JARs to
- <a href="http://tomcat.apache.org/dev/dist/m2-repository/org/apache/tomcat/">Tomcat's Staging Repository</a>.
- The URL for this is <source>http://tomcat.apache.org/dev/dist/m2-repository/org/apache/tomcat/</source>.<br/>
- </subsection>
- <subsection name="Tomcat Releases(iBiblio Mirror))">
- We are also publishing all requested Tomcat JARs to the ibiblio mirror at ASF.
- </subsection>
-
-</section>
-
-<section name="Publishing Tomcat JARs to a Maven Repository">
- <subsection name="Setting Up">
- Almost everything you need is in the <code>res/maven</code> directory.<br/>
- Basically the publish is done using ANT, and Maven's ANT tasks.
- Getting Maven to play well with the SCP protocol can be somewhat of a daunting task
- so I have tried to explain all the steps here.<br/>
- <b>Step 1</b><br/>
- Make sure you have the following installed:<br/>
- ANT 1.6.5 or later <br/>
- Maven 2.0.6<br/>
- JDK 1.5<br/>
- And then make sure you have the <a href="http://svn.apache.org/viewvc/tomcat/trunk/res/maven"><code>res/maven</code></a>
- directory checked out.<br/>
- <b>Step 2</b><br/>
- Download the <a href="http://people.apache.org/~fhanik/tomcat/maven/maven-artifact-ant-2.0.4-de...">Maven ANT tasks</a>, due to a delayed release, I've created a patched version
- so make sure you download <a href="http://people.apache.org/~fhanik/tomcat/maven/maven-ant-tasks-attached-pa...">the PATCH</a> as well.<br/>
- Store both these files in the <code>res/maven</code> directory.<br/>
- <b>Step 3</b><br/>
- At this point you are ready to rock and roll.
- Change any properties in the <code>maven.properties.default</code> file, or simply create a
- file named <code>maven.properties</code> where you can override any properties you need.<br/>
- To publish a release do <source>ant -f mvn-pub.xml deploy-release</source><br/>
- To publish a to a staging repo do <source>ant -f mvn-pub.xml deploy-staging</source><br/>
- and to publish snapshots do <source>ant -f mvn-pub.xml deploy-snapshot</source><br/>
- <br/>
- The next section describes all the steps I had to take to get everything to work publishing from a Windows box.
- Some of these steps can be skipped on Unix as the SSH handling works better there.
- </subsection>
- <subsection name="Working out the kinks">
- <b>Getting SCP to work with private/public key authentication</b><br/>
-
- 1. on a linux box execute 'ssh-keygen -t rsa'<br/>
- 2. same linux box execute 'cat id_rsa.pub >> authorized_keys' and 'cat id_rsa.pub >> authorized_keys2'<br/>
- 3. Copy id_rsa and id_rsa.pub to my windows box<br/>
- 4. Import id_rsa into puttygen<br/>
- 5. export id_rsa from puttygen to OpenSSH key<br/>
- 6. The key you exported from puttygen is the one you reference from the <privateKey> element<br/>
- 7. Manually create the %USERPROFILE%\.ssh directory<br/>
- 8. Manually add the %USERPROFILE%\.ssh\known_hosts file with the entry for the host that you are accessing<br/>
- Some of this has been described in this <a href="http://www.mail-archive.com/users@maven.apache.org/msg48313.html">article</a>.
- </subsection>
-
-</section>
-</body>
-
-</document>
Modified: trunk/webapps/docs/mbeans-descriptor-howto.xml
===================================================================
--- trunk/webapps/docs/mbeans-descriptor-howto.xml 2007-09-05 10:18:48 UTC (rev 264)
+++ trunk/webapps/docs/mbeans-descriptor-howto.xml 2007-09-05 14:51:59 UTC (rev 265)
@@ -15,8 +15,8 @@
<section name="Introduction">
-<p>Tomcat 6 uses JMX MBeans as the technology for implementing
-manageability of Tomcat.</p>
+<p>JBoss Web uses JMX MBeans as the technology for implementing
+manageability of JBoss Web.</p>
<p>The descriptions of JMX MBeans for Catalina are in the mbeans-descriptor.xml
file in each package.</p>
Modified: trunk/webapps/docs/monitoring.xml
===================================================================
--- trunk/webapps/docs/monitoring.xml 2007-09-05 10:18:48 UTC (rev 264)
+++ trunk/webapps/docs/monitoring.xml 2007-09-05 14:51:59 UTC (rev 265)
@@ -9,7 +9,7 @@
<properties>
<author email="pero(a)apache.org">Peter Rossbach</author>
<author email="remm(a)apache.org">Remy Maucherat</author>
- <title>Monitoring and Managing Tomcat</title>
+ <title>Monitoring and Managing JBoss Web</title>
</properties>
<body>
@@ -29,7 +29,7 @@
http://java.sun.com/j2se/1.5.0/docs/guide/management/agent.html</a>.
</p>
<p>For quick installation you find here a short installation guide:</p>
- <p>Add the following parameters to your tomcat startup script:
+ <p>Add the following parameters to your JBoss Web startup script:
<source>
set CATALINA_OPTS="-Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.port=%my.jmx.port% \
@@ -64,39 +64,11 @@
<b>Note:</b>The JSR 160 JMX-Adaptor opens a second data protocol port. That is a problem
when you have installed a local firewall.<br/>
</p>
- <p>Activate JMX MX4J Http Adaptor with Java 1.4:
- <ol>
- <li>Install the tomcat compat package</li>
- <li>Install the mx4j-tools.jar at common/lib. Please, use the same MX4j
- version as your tomcat release</li>
- <li>Configure a MX4J JMX HTTP Adaptor at your AJP Connector
- <p>
- <source>
- <Connector port="${AJP.PORT}"
- handler.list="mx"
- mx.enabled="true"
- mx.httpHost="${JMX.HOST}"
- mx.httpPort="${JMX.PORT}"
- protocol="AJP/1.3" />
- </source>
- </p>
- <p><b>Tipp</b>: With <em>${AJP.PORT}=0</em> no ajp connection where started.
- </p>
- <p><b>Note</b>: MX4J JSR 160 RMI Adaptor to support JDK 1.4 currently not integrated.
- </p>
- </li>
- <li>Start your tomcat and look with a browser at http://${JMX.HOST}:${JMX.PORT}</li>
- <li>With the mx connector parameter <code>mx.authMode="basic" mx.authUser="tomcat" mx.authPassword="strange"</code>
- you can control the access!</li>
- <li>A complete list of all tomcat core MBeans can you find at <a href="funcspecs/mbean-names.html">
- funcspecs/mbean-names.html</a>.</li>
- </ol>
- </p>
</section>
- <section name="Manage Tomcat with JMX remote Ant Tasks">
- <p>For simple tomcat ant task usage with ant 1.6.x we have integrate import and antlib support.</p>
+ <section name="Manage JBoss Web with JMX remote Ant Tasks">
+ <p>For simple JBoss Web ant task usage with ant 1.6.x we have integrate import and antlib support.</p>
<p><b>antlib</b>Copy your catalina-ant.jar from $CATALINA_HOME/server/lib to $ANT_HOME/lib.</p>
<p>Following example show the JMX Accessor usage:</p>
<table border="1">
@@ -197,8 +169,8 @@
</pre></p>
</td></tr>
</table>
- <p><b>import:</b> Import the JMX Accessor Projekt with
- <em><import file="${CATALINA.HOME}/bin/jmxaccessor-tasks.xml" /></em> and
+ <p><b>import:</b> Import the Catalina Ant tasks with
+ <em><import file="${CATALINA.HOME}/bin/catalina-tasks.xml" /></em> and
reference the tasks with <em>jmxOpen</em>, <em>jmxSet</em>, <em>jmxGet</em>,
<em>jmxQuery</em>, <em>jmxInvoke</em>,<em>jmxEquals</em> and <em>jmxCondition</em>. </p>
@@ -350,7 +322,7 @@
<tr>
<td>attribute</td>
- <td>Existing Mbean attribute (see Tomcat mbean description above)
+ <td>Existing Mbean attribute (see JBoss Web mbean description above)
</td>
<td></td>
</tr>
@@ -461,7 +433,7 @@
<tr>
<td>attribute</td>
- <td>Existing Mbean attribute (see Tomcat mbean description above)
+ <td>Existing Mbean attribute (see JBoss Web mbean description above)
</td>
<td></td>
</tr>
@@ -533,7 +505,7 @@
<tr>
<td>operation</td>
- <td>Existing Mbean operation (see Tomcat
+ <td>Existing Mbean operation (see JBoss Web
<a href="funcspecs/fs-admin-opers.html">funcspecs/fs-admin-opers.html</a>.
</td>
<td></td>
@@ -784,7 +756,7 @@
<tr>
<td>className</td>
- <td>Existing MBean full qualified classname (see Tomcat mbean description above)
+ <td>Existing MBean full qualified classname (see JBoss Web mbean description above)
</td>
<td></td>
</tr>
@@ -827,7 +799,7 @@
</source>
</p>
<p>
- <b>Warning</b>: A lot of tomcat mbeans can't be really create and connect with <br/>
+ <b>Warning</b>: A lot of JBoss Web mbeans can't be really create and connect with <br/>
the parent. The valve, cluster or realm Mbeans are not autconnect with there parent.<br/>
Use <em>MBeanFacrory</em> create operation instead.
</p>
@@ -880,7 +852,7 @@
</source>
</p>
<p>
- <b>Warning</b>: A lot of tomcat mbeans can't be really unregister. <br/>
+ <b>Warning</b>: A lot of JBoss Web mbeans can't be really unregister. <br/>
The Mbeans are not deregister from parent. Use <em>MBeanFacrory</em> <br/>
remove operation instead.
</p>
Modified: trunk/webapps/docs/project.xml
===================================================================
--- trunk/webapps/docs/project.xml 2007-09-05 10:18:48 UTC (rev 264)
+++ trunk/webapps/docs/project.xml 2007-09-05 14:51:59 UTC (rev 265)
@@ -23,29 +23,25 @@
<item name="Deployer" href="deployer-howto.html"/>
<item name="Manager" href="manager-howto.html"/>
<item name="Realms and AAA" href="realm-howto.html"/>
- <item name="Security Manager"
- href="security-manager-howto.html"/>
+ <item name="Security Manager" href="security-manager-howto.html"/>
<item name="JNDI Resources" href="jndi-resources-howto.html"/>
- <item name="JDBC DataSources"
- href="jndi-datasource-examples-howto.html"/>
- <item name="Classloading" href="class-loader-howto.html"/>
- <item name="JSPs" href="jasper-howto.html"/>
- <item name="SSL" href="ssl-howto.html"/>
- <item name="PHP" href="php.html"/>
- <item name="SSI" href="ssi-howto.html"/>
- <item name="CGI" href="cgi-howto.html"/>
- <item name="Rewrite Support" href="rewrite.html"/>
- <item name="Proxy Support" href="proxy-howto.html"/>
- <item name="MBean Descriptor"
- href="mbeans-descriptor-howto.html"/>
- <item name="Default Servlet" href="default-servlet.html"/>
- <item name="Connectors" href="connectors.html"/>
- <item name="Monitoring and Management"
- href="monitoring.html"/>
- <item name="Logging" href="logging.html"/>
- <item name="APR" href="apr.html"/>
- <item name="Virtual Hosting" href="virtual-hosting-howto.html"/>
- <item name="Advanced IO" href="aio.html"/>
+ <item name="JDBC DataSources" href="jndi-datasource-examples-howto.html"/>
+ <item name="Classloading" href="class-loader-howto.html"/>
+ <item name="JSPs" href="jasper-howto.html"/>
+ <item name="SSL" href="ssl-howto.html"/>
+ <item name="PHP" href="php.html"/>
+ <item name="SSI" href="ssi-howto.html"/>
+ <item name="CGI" href="cgi-howto.html"/>
+ <item name="Rewrite Support" href="rewrite.html"/>
+ <item name="Proxy Support" href="proxy-howto.html"/>
+ <item name="MBean Descriptor" href="mbeans-descriptor-howto.html"/>
+ <item name="Default Servlet" href="default-servlet.html"/>
+ <item name="Connectors" href="connectors.html"/>
+ <item name="Monitoring and Management" href="monitoring.html"/>
+ <item name="Logging" href="logging.html"/>
+ <item name="APR" href="apr.html"/>
+ <item name="Virtual Hosting" href="virtual-hosting-howto.html"/>
+ <item name="Advanced IO" href="aio.html"/>
</menu>
<menu name="Reference">
Modified: trunk/webapps/docs/proxy-howto.xml
===================================================================
--- trunk/webapps/docs/proxy-howto.xml 2007-09-05 10:18:48 UTC (rev 264)
+++ trunk/webapps/docs/proxy-howto.xml 2007-09-05 14:51:59 UTC (rev 265)
@@ -16,9 +16,9 @@
<section name="Introduction">
-<p>Using standard configurations of Tomcat, web applications can ask for
+<p>Using standard configurations of JBoss Web, web applications can ask for
the server name and port number to which the request was directed for
-processing. When Tomcat is running standalone with the
+processing. When JBoss Web is running standalone with the
<a href="config/coyote.html">Coyote HTTP/1.1 Connector</a>, it will generally
report the server name specified in the request, and the port number on
which the <strong>Connector</strong> is listening. The servlet API
@@ -48,7 +48,7 @@
<p>Apache 1.3 supports an optional module (<code>mod_proxy</code>) that
configures the web server to act as a proxy server. This can be used to
-forward requests for a particular web application to a Tomcat 6 instance,
+forward requests for a particular web application to a JBoss Web instance,
without having to configure a web connector such as <code>mod_jk</code>.
To accomplish this, you need to perform the following tasks:</p>
<ol>
@@ -65,16 +65,16 @@
AddModule mod_proxy.c
</source></li>
<li>Include two directives in your <code>httpd.conf</code> file for
- each web application that you wish to forward to Tomcat 5. For
+ each web application that you wish to forward to JBoss Web. For
example, to forward an application at context path <code>/myapp</code>:
<source>
ProxyPass /myapp http://localhost:8081/myapp
ProxyPassReverse /myapp http://localhost:8081/myapp
</source>
which tells Apache to forward URLs of the form
- <code>http://localhost/myapp/*</code> to the Tomcat 5 connector
+ <code>http://localhost/myapp/*</code> to the JBoss Web connector
listening on port 8081.</li>
-<li>Configure your copy of Tomcat 5 to include a special
+<li>Configure your copy of JBoss Web to include a special
<code><Connector></code> element, with appropriate
proxy settings, for example:
<source>
@@ -88,7 +88,7 @@
<li>It is legal to omit the <code>proxyName</code> attribute from the
<code><Connector></code> element. If you do so, the value
returned by <code>request.getServerName()</code> will by the host
- name on which Tomcat is running. In the example above, it would be
+ name on which JBoss Web is running. In the example above, it would be
<code>localhost</code>.</li>
<li>If you also have a <code><Connector></code> listening on port
8080 (nested within the same <a href="config/service.html">Service</a>
@@ -112,11 +112,11 @@
</ul></li>
<li>When requests are proxied by Apache, the web server will be recording
these requests in its access log. Therefore, you will generally want to
- disable any access logging performed by Tomcat itself.</li>
+ disable any access logging performed by JBoss Web itself.</li>
</ol>
<p>When requests are proxied in this manner, <strong>all</strong> requests
-for the configured web applications will be processed by Tomcat (including
+for the configured web applications will be processed by JBoss Web (including
requests for static content). You can improve performance by using the
<code>mod_jk</code> web connector instead of <code>mod_proxy</code>.
<code>mod_jk</code> can be configured so that the web server serves static
Modified: trunk/webapps/docs/realm-howto.xml
===================================================================
--- trunk/webapps/docs/realm-howto.xml 2007-09-05 10:18:48 UTC (rev 264)
+++ trunk/webapps/docs/realm-howto.xml 2007-09-05 14:51:59 UTC (rev 265)
@@ -46,7 +46,7 @@
<section name="Quick Start">
-<p>This document describes how to configure Tomcat to support <em>container
+<p>This document describes how to configure JBoss Web to support <em>container
managed security</em>, by connecting to an existing "database" of usernames,
passwords, and user roles. You only need to care about this if you are using
a web application that includes one or more
@@ -60,7 +60,7 @@
Specification (Version 2.4)</a>, Section 12.</p>
<p>For information about utilizing the <em>Single Sign On</em> feature of
-Tomcat 6 (allowing a user to authenticate themselves once across the entire
+JBoss Web (allowing a user to authenticate themselves once across the entire
set of web applications associated with a virtual host), see
<a href="config/host.html#Single Sign On">here</a>.</p>
@@ -87,7 +87,7 @@
defining the interface between a servlet container and the associated user
and role information. In many cases, however, it is desireable to "connect"
a servlet container to some existing authentication database or mechanism
-that already exists in the production environment. Therefore, Tomcat 6
+that already exists in the production environment. Therefore, JBoss Web
defines a Java interface (<code>org.apache.catalina.Realm</code>) that
can be implemented by "plug in" components to establish this connection.
Five standard plug-ins are provided, supporting connections to various
@@ -110,7 +110,7 @@
</ul>
<p>It is also possible to write your own <code>Realm</code> implementation,
-and integrate it with Tomcat 6. To do so, you need to:
+and integrate it with JBoss Web. To do so, you need to:
<ul>
<li>Implement <code>org.apache.catalina.Realm</code>,</li>
<li>Place your compiled realm in $CATALINA_HOME/server/lib,</li>
@@ -238,7 +238,7 @@
<subsection name="Example Application">
-<p>The example application shipped with Tomcat 6 includes an area that is
+<p>The example application shipped with JBoss Web includes an area that is
protected by a security constraint, utilizing form-based login. To access it,
point your browser at
<a href="http://localhost:8080/examples/jsp/security/protected/">http://localhost:8080/examples/jsp/security/protected/</a>
@@ -251,7 +251,7 @@
<subsection name="Manager Application">
<p>If you wish to use the <a href="manager-howto.html">Manager Application</a>
-to deploy and undeploy applications in a running Tomcat 6 installation, you
+to deploy and undeploy applications in a running JBoss Web installation, you
MUST add the "manager" role to at least one username in your selected Realm
implementation. This is because the manager web application itself uses a
security constraint that requires role "manager" to access ANY request URI
@@ -260,7 +260,7 @@
<p>For security reasons, no username in the default Realm (i.e. using
<code>conf/tomcat-users.xml</code> is assigned the "manager" role. Therfore,
no one will be able to utilize the features of this application until the
-Tomcat administrator specifically assigns this role to one or more users.</p>
+JBoss Web administrator specifically assigns this role to one or more users.</p>
</subsection>
@@ -283,7 +283,7 @@
<h3>Introduction</h3>
-<p><strong>JDBCRealm</strong> is an implementation of the Tomcat 6
+<p><strong>JDBCRealm</strong> is an implementation of the JBoss Web
<code>Realm</code> interface that looks up users in a relational database
accessed via a JDBC driver. There is substantial configuration flexibility
that lets you adapt to existing table and column names, as long as your
@@ -295,8 +295,8 @@
<li>The <em>users</em> table must contain at least two columns (it may
contain more if your existing applications required it):
<ul>
- <li>Username to be recognized by Tomcat when the user logs in.</li>
- <li>Password to be recognized by Tomcat when the user logs in.
+ <li>Username to be recognized by JBoss Web when the user logs in.</li>
+ <li>Password to be recognized by JBoss Web when the user logs in.
This value may in cleartext or digested - see below for more
information.</li>
</ul></li>
@@ -307,7 +307,7 @@
<li>The <em>user roles</em> table must contain at least two columns (it may
contain more if your existing applications required it):
<ul>
- <li>Username to be recognized by Tomcat (same value as is specified
+ <li>Username to be recognized by JBoss Web (same value as is specified
in the <em>users</em> table).</li>
<li>Role name of a valid role associated with this user.</li>
</ul></li>
@@ -315,19 +315,19 @@
<h3>Quick Start</h3>
-<p>To set up Tomcat to use JDBCRealm, you will need to follow these steps:</p>
+<p>To set up JBoss Web to use JDBCRealm, you will need to follow these steps:</p>
<ol>
<li>If you have not yet done so, create tables and columns in your database
that conform to the requirements described above.</li>
-<li>Configure a database username and password for use by Tomcat, that has
- at least read only access to the tables described above. (Tomcat will
+<li>Configure a database username and password for use by JBoss Web, that has
+ at least read only access to the tables described above. (JBoss Web will
never attempt to write to these tables.)</li>
<li>Place a copy of the JDBC driver you will be using inside the
<code>$CATALINA_HOME/lib</code> directory.
Note that <strong>only</strong> JAR files are recognized!</li>
<li>Set up a <code><Realm></code> element, as described below, in your
<code>$CATALINA_HOME/conf/server.xml</code> file.</li>
-<li>Restart Tomcat 6 if it is already running.</li>
+<li>Restart JBoss Web if it is already running.</li>
</ol>
<h3>Realm Element Attributes</h3>
@@ -396,7 +396,7 @@
<attribute name="userTable" required="true">
<p>The name of the table that contains one row for each <em>username</em>
- to be recognized by Tomcat. This table must include at least the columns
+ to be recognized by JBoss Web. This table must include at least the columns
named by the <code>userNameCol</code> and <code>userCredCol</code>
attributes.</p>
</attribute>
@@ -437,12 +437,12 @@
<p>JDBCRealm operates according to the following rules:</p>
<ul>
<li>When a user attempts to access a protected resource for the first time,
- Tomcat 6 will call the <code>authenticate()</code> method of this
+ JBoss Web will call the <code>authenticate()</code> method of this
<code>Realm</code>. Thus, any changes you have made to the database
directly (new users, changed passwords or roles, etc.) will be immediately
reflected.</li>
<li>Once a user has been authenticated, the user (and his or her associated
- roles) are cached within Tomcat for the duration of the user's login.
+ roles) are cached within JBoss Web for the duration of the user's login.
(For FORM-based authentication, that means until the session times out or
is invalidated; for BASIC authentication, that means until the user
closes their browser). The cached user is <strong>not</strong> saved and
@@ -450,7 +450,7 @@
information for an already authenticated user will <strong>not</strong> be
reflected until the next time that user logs on again.</li>
<li>Administering the information in the <em>users</em> and <em>user roles</em>
- table is the responsibility of your own applications. Tomcat does not
+ table is the responsibility of your own applications. JBoss Web does not
provide any built-in capabilities to maintain users and roles.</li>
</ul>
@@ -461,7 +461,7 @@
<h3>Introduction</h3>
-<p><strong>DataSourceRealm</strong> is an implementation of the Tomcat 6
+<p><strong>DataSourceRealm</strong> is an implementation of the JBoss Web
<code>Realm</code> interface that looks up users in a relational database
accessed via a JNDI named JDBC DataSource. There is substantial configuration
flexibility that lets you adapt to existing table and column names, as long
@@ -473,8 +473,8 @@
<li>The <em>users</em> table must contain at least two columns (it may
contain more if your existing applications required it):
<ul>
- <li>Username to be recognized by Tomcat when the user logs in.</li>
- <li>Password to be recognized by Tomcat when the user logs in.
+ <li>Username to be recognized by JBoss Web when the user logs in.</li>
+ <li>Password to be recognized by JBoss Web when the user logs in.
This value may in cleartext or digested - see below for more
information.</li>
</ul></li>
@@ -485,7 +485,7 @@
<li>The <em>user roles</em> table must contain at least two columns (it may
contain more if your existing applications required it):
<ul>
- <li>Username to be recognized by Tomcat (same value as is specified
+ <li>Username to be recognized by JBoss Web (same value as is specified
in the <em>users</em> table).</li>
<li>Role name of a valid role associated with this user.</li>
</ul></li>
@@ -493,19 +493,19 @@
<h3>Quick Start</h3>
-<p>To set up Tomcat to use DataSourceRealm, you will need to follow these steps:</p>
+<p>To set up JBoss Web to use DataSourceRealm, you will need to follow these steps:</p>
<ol>
<li>If you have not yet done so, create tables and columns in your database
that conform to the requirements described above.</li>
-<li>Configure a database username and password for use by Tomcat, that has
- at least read only access to the tables described above. (Tomcat will
+<li>Configure a database username and password for use by JBoss Web, that has
+ at least read only access to the tables described above. (JBoss Web will
never attempt to write to these tables.)</li>
<li>Configure a JNDI named JDBC DataSource for your database. Refer to the
<a href="jndi-datasource-examples-howto.html">JNDI DataSource Example HOW-TO</a>
for information on how to configure a JNDI named JDBC DataSource.</li>
<li>Set up a <code><Realm></code> element, as described below, in your
<code>$CATALINA_HOME/conf/server.xml</code> file.</li>
-<li>Restart Tomcat 6 if it is already running.</li>
+<li>Restart JBoss Web if it is already running.</li>
</ol>
<h3>Realm Element Attributes</h3>
@@ -570,7 +570,7 @@
<attribute name="userTable" required="true">
<p>The name of the table that contains one row for each <em>username</em>
- to be recognized by Tomcat. This table must include at least the columns
+ to be recognized by JBoss Web. This table must include at least the columns
named by the <code>userNameCol</code> and <code>userCredCol</code>
attributes.</p>
</attribute>
@@ -609,12 +609,12 @@
<p>DataSourceRealm operates according to the following rules:</p>
<ul>
<li>When a user attempts to access a protected resource for the first time,
- Tomcat 6 will call the <code>authenticate()</code> method of this
+ JBoss Web will call the <code>authenticate()</code> method of this
<code>Realm</code>. Thus, any changes you have made to the database
directly (new users, changed passwords or roles, etc.) will be immediately
reflected.</li>
<li>Once a user has been authenticated, the user (and his or her associated
- roles) are cached within Tomcat for the duration of the user's login.
+ roles) are cached within JBoss Web for the duration of the user's login.
(For FORM-based authentication, that means until the session times out or
is invalidated; for BASIC authentication, that means until the user
closes their browser). The cached user is <strong>not</strong> saved and
@@ -622,7 +622,7 @@
information for an already authenticated user will <strong>not</strong> be
reflected until the next time that user logs on again.</li>
<li>Administering the information in the <em>users</em> and <em>user roles</em>
- table is the responsibility of your own applications. Tomcat does not
+ table is the responsibility of your own applications. JBoss Web does not
provide any built-in capabilities to maintain users and roles.</li>
</ul>
@@ -633,7 +633,7 @@
<h3>Introduction</h3>
-<p><strong>JNDIRealm</strong> is an implementation of the Tomcat 6
+<p><strong>JNDIRealm</strong> is an implementation of the JBoss Web
<code>Realm</code> interface that looks up users in an LDAP directory
server accessed by a JNDI provider (typically, the standard LDAP
provider that is available with the JNDI API classes). The realm
@@ -802,19 +802,19 @@
<h3>Quick Start</h3>
-<p>To set up Tomcat to use JNDIRealm, you will need to follow these steps:</p>
+<p>To set up JBoss Web to use JNDIRealm, you will need to follow these steps:</p>
<ol>
<li>Make sure your directory server is configured with a schema that matches
the requirements listed above.</li>
-<li>If required, configure a username and password for use by Tomcat, that has
- read only access to the information described above. (Tomcat will
+<li>If required, configure a username and password for use by JBoss Web, that has
+ read only access to the information described above. (JBoss Web will
never attempt to modify this information.)</li>
<li>Place a copy of the JNDI driver you will be using (typically
<code>ldap.jar</code> available with JNDI) inside the
<code>$CATALINA_HOME/lib</code> directory.</li>
<li>Set up a <code><Realm></code> element, as described below, in your
<code>$CATALINA_HOME/conf/server.xml</code> file.</li>
-<li>Restart Tomcat 6 if it is already running.</li>
+<li>Restart JBoss Web if it is already running.</li>
</ol>
<h3>Realm Element Attributes</h3>
@@ -992,7 +992,7 @@
</source>
<p>We will assume for <code>connectionURL</code> that the directory
-server runs on the same machine as Tomcat. See <a
+server runs on the same machine as JBoss Web. See <a
href="http://java.sun.com/products/jndi/docs.html">http://java.sun.com/products/jndi/docs.html</a>
for more information about configuring and using the JNDI LDAP
provider.</p>
@@ -1143,12 +1143,12 @@
<p>JNDIRealm operates according to the following rules:</p>
<ul>
<li>When a user attempts to access a protected resource for the first time,
- Tomcat 6 will call the <code>authenticate()</code> method of this
+ JBoss Web will call the <code>authenticate()</code> method of this
<code>Realm</code>. Thus, any changes you have made to the directory
(new users, changed passwords or roles, etc.) will be immediately
reflected.</li>
<li>Once a user has been authenticated, the user (and his or her associated
- roles) are cached within Tomcat for the duration of the user's login.
+ roles) are cached within JBoss Web for the duration of the user's login.
(For FORM-based authentication, that means until the session times out or
is invalidated; for BASIC authentication, that means until the user
closes their browser). The cached user is <strong>not</strong> saved and
@@ -1156,7 +1156,7 @@
information for an already authenticated user will <strong>not</strong> be
reflected until the next time that user logs on again.</li>
<li>Administering the information in the directory server
- is the responsibility of your own applications. Tomcat does not
+ is the responsibility of your own applications. JBoss Web does not
provide any built-in capabilities to maintain users and roles.</li>
</ul>
@@ -1168,10 +1168,10 @@
<h3>Introduction</h3>
<p><strong>MemoryRealm</strong> is a simple demonstration implementation of the
-Tomcat 6 <code>Realm</code> interface. It is not designed for production use.
+JBoss Web <code>Realm</code> interface. It is not designed for production use.
At startup time, MemoryRealm loads information about all users, and their
corresponding roles, from an XML document (by default, this document is loaded from <code>$CATALINA_HOME/conf/tomcat-users.xml</code>). Changes to the data
-in this file are not recognized until Tomcat is restarted.</p>
+in this file are not recognized until JBoss Web is restarted.</p>
<h3>Realm Element Attributes</h3>
@@ -1223,7 +1223,7 @@
<h3>Example</h3>
-<p>The default installation of Tomcat 6 is configured with a MemoryRealm
+<p>The default installation of JBoss Web is configured with a MemoryRealm
nested inside the <code><Engine></code> element, so that it applies
to all virtual hosts and web applications. The default contents of the
<code>conf/tomcat-users.xml</code> file is:</p>
@@ -1239,21 +1239,21 @@
<p>MemoryRealm operates according to the following rules:</p>
<ul>
-<li>When Tomcat first starts up, it loads all defined users and their
+<li>When JBoss Web first starts up, it loads all defined users and their
associated information from the users file. Changes to the data in
- this file will <strong>not</strong> be recognized until Tomcat is
+ this file will <strong>not</strong> be recognized until JBoss Web is
restarted.</li>
<li>When a user attempts to access a protected resource for the first time,
- Tomcat 6 will call the <code>authenticate()</code> method of this
+ JBoss Web will call the <code>authenticate()</code> method of this
<code>Realm</code>.</li>
<li>Once a user has been authenticated, the user (and his or her associated
- roles) are cached within Tomcat for the duration of the user's login.
+ roles) are cached within JBoss Web for the duration of the user's login.
(For FORM-based authentication, that means until the session times out or
is invalidated; for BASIC authentication, that means until the user
closes their browser). The cached user is <strong>not</strong> saved and
restored across sessions serialisations.</li>
<li>Administering the information in the users file is the responsibility
- of your application. Tomcat does not
+ of your application. JBoss Web does not
provide any built-in capabilities to maintain users and roles.</li>
</ul>
@@ -1265,14 +1265,14 @@
<h3>Introduction</h3>
- <p><strong>JAASRealm</strong> is an implementation of the Tomcat
+ <p><strong>JAASRealm</strong> is an implementation of the JBoss Web
4 <code>Realm</code> interface that authenticates users through the Java
Authentication & Authorization Service (JAAS) framework, a Java
package that is available as an optional package in Java 2 SDK 1.3 and
is fully integrated as of SDK 1.4 .</p>
<p>Using JAASRealm gives the developer the ability to combine
-practically any conceivable security realm with Tomcat's CMA. </p>
- <p>JAASRealm is prototype for Tomcat of the proposed JAAS-based
+practically any conceivable security realm with JBoss Web's CMA. </p>
+ <p>JAASRealm is prototype for JBoss Web of the proposed JAAS-based
J2EE authentication framework for J2EE v1.4, based on the <a
href="http://www.jcp.org/en/jsr/detail?id=196">JCP Specification
Request 196</a> to enhance container-managed security and promote
@@ -1282,11 +1282,11 @@
<p>Based on the JAAS login module and principal (see <code>javax.security.auth.spi.LoginModule</code>
and <code>javax.security.Principal</code>), you can develop your own
security mechanism or wrap another third-party mechanism for
-integration with the CMA as implemented by Tomcat.
+integration with the CMA as implemented by JBoss Web.
</p>
<h3>Quick Start</h3>
- <p>To set up Tomcat to use JAASRealm with your own JAAS login module,
+ <p>To set up JBoss Web to use JAASRealm with your own JAAS login module,
you will need to follow these steps:</p>
<ol>
<li>Write your own LoginModule, User and Role classes based
@@ -1301,22 +1301,22 @@
</li>
<li>Although not specified in JAAS, you should create
seperate classes to distinguish between users and roles, extending <code>javax.security.Principal</code>,
-so that Tomcat can tell which Principals returned from your login
+so that JBoss Web can tell which Principals returned from your login
module are users and which are roles (see <code>org.apache.catalina.realm.JAASRealm</code>).
Regardless, the first Principal returned is <em>always</em> treated as the user Principal.
</li>
- <li>Place the compiled classes on Tomcat's classpath
+ <li>Place the compiled classes on JBoss Web's classpath
</li>
<li>Set up a login.config file for Java (see <a
href="http://java.sun.com/j2se/1.4.1/docs/guide/security/jaas/tutorials/LoginCo...">JAAS
-LoginConfig file</a>) and tell Tomcat where to find it by specifying
+LoginConfig file</a>) and tell JBoss Web where to find it by specifying
its location to the JVM, for instance by setting the environment
variable: <code>JAVA_OPTS=-DJAVA_OPTS=-Djava.security.auth.login.config==$CATALINA_HOME/conf/jaas.config</code></li>
<li>Configure your security-constraints in your web.xml for
the resources you want to protect</li>
<li>Configure the JAASRealm module in your server.xml </li>
- <li>Restart Tomcat 6 if it is already running.</li>
+ <li>Restart JBoss Web if it is already running.</li>
</ol>
<h3>Realm Element Attributes</h3>
<p>To configure JAASRealm as for step 6 above, you create
@@ -1374,7 +1374,7 @@
Role objects representing Principals for the user
(<code>javax.security.auth.Subject</code>). If your login module doesn't
create a user object but also doesn't throw a login exception, then the
-Tomcat CMA will break and you will be left at the
+JBoss Web CMA will break and you will be left at the
http://localhost:8080/myapp/j_security_check URI or at some other
unspecified location.</p>
@@ -1389,12 +1389,12 @@
<h3>Additional Notes</h3>
<ul>
<li>When a user attempts to access a protected resource for
- the first time, Tomcat 6 will call the <code>authenticate()</code>
+ the first time, JBoss Web will call the <code>authenticate()</code>
method of this <code>Realm</code>. Thus, any changes you have made in
the security mechanism directly (new users, changed passwords or
roles, etc.) will be immediately reflected.</li>
<li>Once a user has been authenticated, the user (and his or
- her associated roles) are cached within Tomcat for the duration of
+ her associated roles) are cached within JBoss Web for the duration of
the user's login. For FORM-based authentication, that means until
the session times out or is invalidated; for BASIC authentication,
that means until the user closes their browser. Any changes to the
Modified: trunk/webapps/docs/security-manager-howto.xml
===================================================================
--- trunk/webapps/docs/security-manager-howto.xml 2007-09-05 10:18:48 UTC (rev 264)
+++ trunk/webapps/docs/security-manager-howto.xml 2007-09-05 14:51:59 UTC (rev 265)
@@ -22,7 +22,7 @@
accessing files on the local file system, connecting to a host other
than the one the applet was loaded from, and so on. In the same way
the SecurityManager protects you from an untrusted applet running in
- your browser, use of a SecurityManager while running Tomcat can protect
+ your browser, use of a SecurityManager while running JBoss Web can protect
your server from trojan servlets, JSPs, JSP beans, and tag libraries.
Or even inadvertent mistakes.</p>
@@ -32,7 +32,7 @@
<% System.exit(1); %>
</source>
- <p>Every time this JSP was executed by Tomcat, Tomcat would exit.
+ <p>Every time this JSP was executed by JBoss Web, JBoss Web would exit.
Using the Java SecurityManager is just one more line of defense a
system administrator can use to keep the server secure and reliable.</p>
@@ -50,16 +50,16 @@
<section name="Permissions">
<p>Permission classes are used to define what Permissions a class loaded
- by Tomcat will have. There are a number of Permission classes that are
+ by JBoss Web will have. There are a number of Permission classes that are
a standard part of the JDK, and you can create your own Permission class
for use in your own web applications. Both techniques are used in
- Tomcat 6.</p>
+ JBoss Web.</p>
<subsection name="Standard Permissions">
<p>This is just a short summary of the standard system SecurityManager
- Permission classes applicable to Tomcat. See
+ Permission classes applicable to JBoss Web. See
<a href="http://java.sun.com/security/">http://java.sun.com/security/</a>
for more information.</p>
@@ -80,16 +80,16 @@
<li><strong>java.security.SecurityPermission</strong> - Controls access
to Security methods.</li>
<li><strong>java.security.AllPermission</strong> - Allows access to all
- permissions, just as if you were running Tomcat without a
+ permissions, just as if you were running JBoss Web without a
SecurityManager.</li>
</ul>
</subsection>
- <subsection name="Tomcat Custom Permissions">
+ <subsection name="JBoss Web Custom Permissions">
- <p>Tomcat utilizes a custom permission class called
+ <p>JBoss Web utilizes a custom permission class called
<strong>org.apache.naming.JndiPermission</strong>. This permission
controls read access to JNDI named file based resources. The permission
name is the JNDI name and there are no actions. A trailing "*" can be
@@ -105,7 +105,7 @@
but disallow it from using file access to read any other files (unless
permissions for those files are explicitly granted).</p>
- <p>Also, Tomcat always dynamically creates the following file permission:</p>
+ <p>Also, JBoss Web always dynamically creates the following file permission:</p>
<source>
permission java.io.FilePermission "** your application context**", "read";
</source>
@@ -118,7 +118,7 @@
</section>
-<section name="Configuring Tomcat With A SecurityManager">
+<section name="Configuring JBoss Web With A SecurityManager">
<h3>Policy File Format</h3>
@@ -154,7 +154,7 @@
looks like this:</p>
<source>
// ============================================================================
-// catalina.corepolicy - Security Policy Permissions for Tomcat 6
+// catalina.corepolicy - Security Policy Permissions for JBoss Web
//
// This file contains a default set of security policies to be enforced (by the
// JVM) when Catalina is executed with the "-security" option. In addition
@@ -301,10 +301,10 @@
// };
</source>
- <h3>Starting Tomcat With A SecurityManager</h3>
+ <h3>Starting JBoss Web With A SecurityManager</h3>
<p>Once you have configured the <code>catalina.policy</code> file for use
- with a SecurityManager, Tomcat can be started with a SecurityManager in
+ with a SecurityManager, JBoss Web can be started with a SecurityManager in
place by using the "-security" option:</p>
<source>
$CATALINA_HOME/bin/catalina.sh start -security (Unix)
@@ -312,8 +312,8 @@
</source>
</section>
-<section name="Configuring Package Protection in Tomcat">
- <p>Starting with Tomcat 5, it is now possible to configure which Tomcat
+<section name="Configuring Package Protection in JBoss Web">
+ <p>Starting with Tomcat 5, it is now possible to configure which JBoss Web
internal package are protected againts package definition and access. See
<a href="http://java.sun.com/security/seccodeguide.html">
http://java.sun.com/security/seccodeguide.html</a>
@@ -350,7 +350,7 @@
org.apache.tomcat.,org.apache.jasper.
</source>
<p>Once you have configured the <code>catalina.properties</code> file for use
- with a SecurityManager, remember to re-start Tomcat.</p>
+ with a SecurityManager, remember to re-start JBoss Web.</p>
</section>
<section name="Troubleshooting">
@@ -361,7 +361,7 @@
when the SecurityManager detects the violation. Debugging the permission
that is missing can be challenging, and one option is to turn on debug
output of all security decisions that are made during execution. This
- is done by setting a system property before starting Tomcat. The easiest
+ is done by setting a system property before starting JBoss Web. The easiest
way to do this is via the <code>CATALINA_OPTS</code> environment variable.
Execute this command:</p>
<source>
@@ -369,7 +369,7 @@
set CATALINA_OPTS=-Djava.security.debug=all (Windows)
</source>
- <p>before starting Tomcat.</p>
+ <p>before starting JBoss Web.</p>
<p><strong>WARNING</strong> - This will generate <em>many megabytes</em>
of output! However, it can help you track down problems by searching
Modified: trunk/webapps/docs/setup.xml
===================================================================
--- trunk/webapps/docs/setup.xml 2007-09-05 10:18:48 UTC (rev 264)
+++ trunk/webapps/docs/setup.xml 2007-09-05 14:51:59 UTC (rev 265)
@@ -8,14 +8,14 @@
<properties>
<author email="remm(a)apache.org">Remy Maucherat</author>
- <title>Tomcat Setup</title>
+ <title>JBoss Web Setup</title>
</properties>
<body>
<section name="Introduction">
<p>
- This document introduces several ways to set up Tomcat for running
+ This document introduces several ways to set up JBoss Web for running
on different platforms. Please note that some advanced setup issues
are not covered here: the full distribution (ZIP file or tarball)
includes a file called
@@ -27,18 +27,18 @@
<section name="Windows">
<p>
- Installing Tomcat on Windows can be done easily using the Windows
+ Installing JBoss Web on Windows can be done easily using the Windows
installer. Its interface and functionality is similar to other wizard
based installers, with only a few items of interest.
</p>
<p>
<ul>
- <li><strong>Installation as a service</strong>: Tomcat will be
+ <li><strong>Installation as a service</strong>: JBoss Web will be
installed as a Windows
NT/2k/XP service no matter what setting is selected. Using the
checkbox on the component page sets the service as "auto"
- startup, so that Tomcat is automatically started when Windows
+ startup, so that JBoss Web is automatically started when Windows
starts. For optimal security, the service should be run as a
separate user, with reduced permissions (see the Windows Services
administration tool and its documentation).</li>
@@ -46,28 +46,28 @@
or the JAVA_HOME environment variable to determine the base path
of a J2SE 5 JRE.
</li>
- <li><strong>Tray icon</strong>: When Tomcat is run as a service, there
- will not be any tray icon present when Tomcat is running. Note that
- when choosing to run Tomcat at the end of installation, the tray
- icon will be used even if Tomcat was installed as a service.</li>
+ <li><strong>Tray icon</strong>: When JBoss Web is run as a service, there
+ will not be any tray icon present when JBoss Web is running. Note that
+ when choosing to run JBoss Web at the end of installation, the tray
+ icon will be used even if JBoss Web was installed as a service.</li>
<li>Refer to the
<a href="windows-service-howto.html">Windows Service HOW-TO</a>
- for information on how to manage Tomcat as Windows NT service.
+ for information on how to manage JBoss Web as Windows NT service.
</li>
</ul>
</p>
<p>The installer will create shortcuts allowing starting and configuring
- Tomcat. It is important to note that the Tomcat administration web
- application can only be used when Tomcat is running.</p>
+ JBoss Web. It is important to note that the JBoss Web administration web
+ application can only be used when JBoss Web is running.</p>
</section>
<section name="Unix daemon">
- <p>Tomcat can be run as a daemon using the jsvc tool from the
+ <p>JBoss Web can be run as a daemon using the jsvc tool from the
commons-daemon project. Source tarballs for jsvc are included with the
- Tomcat binaries, and need to be compiled. Building jsvc requires
+ JBoss Web binaries, and need to be compiled. Building jsvc requires
a C ANSI compiler (such as GCC), GNU Autoconf, and a JDK.</p>
<p>Before running the script, the <code>JAVA_HOME</code> environment
@@ -79,7 +79,7 @@
<p>Using the following commands should result in a compiled jsvc binary,
located in the <code>$CATALINA_HOME/bin</code> folder. This assumes
that GNU TAR is used, and that <code>CATALINA_HOME</code> is an
- environment variable pointing to the base path of the Tomcat
+ environment variable pointing to the base path of the JBoss Web
installation.</p>
<p>Please note that you should use the GNU make (gmake) instead of
@@ -100,7 +100,7 @@
cd ..
</source>
- <p>Tomcat can then be run as a daemon using the following commands.</p>
+ <p>JBoss Web can then be run as a daemon using the following commands.</p>
<source>
cd $CATALINA_HOME
@@ -111,20 +111,20 @@
<p>jsvc has other useful parameters, such as <code>-user</code> which
causes it to switch to another user after the daemon initialization is
- complete. This allows, for example, running Tomcat as a non privileged
+ complete. This allows, for example, running JBoss Web as a non privileged
user while still being able to use privileged ports.
<code>jsvc --help</code> will return the full jsvc usage
information. In particular, the <code>-debug</code> option is useful
to debug issues running jsvc.</p>
<p>The file <code>$CATALINA_HOME/bin/jsvc/native/tomcat.sh</code> can be
- used as a template for starting Tomcat automatically at boot time from
+ used as a template for starting JBoss Web automatically at boot time from
<code>/etc/init.d</code>. The file is currently setup for running
Tomcat 4.1.x, so it is necessary to edit it and change the classname
from <code>BootstrapService</code> to <code>Bootstrap</code>.</p>
<p>Note that the Commons-Daemon JAR file must be on your runtime classpath
- to run Tomcat in this manner. The Commons-Daemon JAR file is in the Class-Path
+ to run JBoss Web in this manner. The Commons-Daemon JAR file is in the Class-Path
entry of the bootstrap.jar manifest, but if you get a ClassNotFoundException
or a NoClassDefFoundError for a Commons-Daemon class, add the Commons-Daemon
JAR to the -cp argument when launching jsvc.</p>
Modified: trunk/webapps/docs/ssi-howto.xml
===================================================================
--- trunk/webapps/docs/ssi-howto.xml 2007-09-05 10:18:48 UTC (rev 264)
+++ trunk/webapps/docs/ssi-howto.xml 2007-09-05 14:51:59 UTC (rev 265)
@@ -21,11 +21,11 @@
to serve the entire page via a CGI program, or other dynamic technology.
</p>
-<p>Within Tomcat SSI support can be added when using Tomcat as your
+<p>Within JBoss Web SSI support can be added when using JBoss Web as your
HTTP server and you require SSI support. Typically this is done
during development when you don't want to run a web server like Apache.</p>
-<p>Tomcat SSI support implements the same SSI directives as Apache. See the
+<p>JBoss Web SSI support implements the same SSI directives as Apache. See the
<a href="http://httpd.apache.org/docs/howto/ssi.html#basicssidirectives">
Apache Introduction to SSI</a> for information on using SSI directives.</p>
@@ -42,13 +42,13 @@
it will selectively enable/disable SSI processing based on mime types. The
contentType init param allows you to apply SSI processing to JSP pages,
javascript, or any other content you wish.</p>
-<p>By default SSI support is disabled in Tomcat.</p>
+<p>By default SSI support is disabled in JBoss Web.</p>
</section>
<section name="Installation">
<p><strong>CAUTION</strong> - SSI directives can be used to execute programs
-external to the Tomcat JVM. If you are using the Java SecurityManager this
+external to the JBoss Web JVM. If you are using the Java SecurityManager this
will bypass your security policy configuration in <code>catalina.policy.</code>
</p>
Modified: trunk/webapps/docs/ssl-howto.xml
===================================================================
--- trunk/webapps/docs/ssl-howto.xml 2007-09-05 10:18:48 UTC (rev 264)
+++ trunk/webapps/docs/ssl-howto.xml 2007-09-05 14:51:59 UTC (rev 265)
@@ -18,20 +18,20 @@
<section name="Quick Start">
<p><b>IMPORTANT NOTE: This Howto refers to usage of JSSE, that comes included with
- jdk 1.5 and higher. When using APR, Tomcat will
+ jdk 1.5 and higher. When using APR, JBoss Web will
use OpenSSL, which uses a different configuration.</b></p>
<blockquote><em>
<p>The description below uses the variable name $CATALINA_HOME
- to refer to the directory into which you have installed Tomcat 6,
+ to refer to the directory into which you have installed JBoss Web,
and is the base directory against which most relative paths are
- resolved. However, if you have configured Tomcat 6 for multiple
+ resolved. However, if you have configured JBoss Web for multiple
instances by setting a CATALINA_BASE directory, you should use
$CATALINA_BASE instead of $CATALINA_HOME for each of these
references.</p>
</em></blockquote>
-<p>To install and configure SSL support on Tomcat 6, you need to follow
+<p>To install and configure SSL support on JBoss Web, you need to follow
these simple steps. For more information, read the rest of this HOW-TO.</p>
<ol>
<li>Create a certificate keystore by executing the following command:
@@ -74,18 +74,18 @@
</section>
-<section name="SSL and Tomcat">
+<section name="SSL and JBoss Web">
-<p>It is important to note that configuring Tomcat to take advantage of
+<p>It is important to note that configuring JBoss Web to take advantage of
secure sockets is usually only necessary when running it as a stand-alone
-web server. When running Tomcat primarily as a Servlet/JSP container behind
+web server. When running JBoss Web primarily as a Servlet/JSP container behind
another web server, such as Apache or Microsoft IIS, it is usually necessary
to configure the primary web server to handle the SSL connections from users.
Typically, this server will negotiate all SSL-related functionality, then
-pass on any requests destined for the Tomcat container only after decrypting
-those requests. Likewise, Tomcat will return cleartext responses, that will
+pass on any requests destined for the JBoss Web container only after decrypting
+those requests. Likewise, JBoss Web will return cleartext responses, that will
be encrypted before being returned to the user's browser. In this environment,
-Tomcat knows that communications between the primary web server and the
+JBoss Web knows that communications between the primary web server and the
client are taking place over a secure connection (because your application
needs to be able to ask about this), but it does not participate in the
encryption or decryption itself.</p>
@@ -175,7 +175,7 @@
<subsection name="Prepare the Certificate Keystore">
-<p>Tomcat currently operates only on <code>JKS</code>, <code>PKCS11</code> or
+<p>JBoss Web currently operates only on <code>JKS</code>, <code>PKCS11</code> or
<code>PKCS12</code> format keystores. The <code>JKS</code> format
is Java's standard "Java KeyStore" format, and is the format created by the
<code>keytool</code> command-line utility. This tool is included in the JDK.
@@ -237,7 +237,7 @@
</source>
<p>After executing this command, you will first be prompted for the keystore
-password. The default password used by Tomcat is "<code>changeit</code>"
+password. The default password used by JBoss Web is "<code>changeit</code>"
(all lower case), although you can specify a custom password if you like.
You will also need to specify the custom password in the
<code>server.xml</code> configuration file, as described later.</p>
@@ -265,7 +265,7 @@
</subsection>
-<subsection name="Edit the Tomcat Configuration File">
+<subsection name="Edit the JBoss Web Configuration File">
<p>If you are using APR, you have the option of configuring an alternative engine to openSSL.
<source>
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="someengine" />
@@ -287,9 +287,9 @@
<p>The final step is to configure your secure socket in the
<code>$CATALINA_HOME/conf/server.xml</code> file, where
<code>$CATALINA_HOME</code> represents the directory into which you
-installed Tomcat 6. An example <code><Connector></code> element
+installed JBoss Web. An example <code><Connector></code> element
for an SSL connector is included in the default <code>server.xml</code>
-file installed with Tomcat. It will look something like this:</p>
+file installed with JBoss Web. It will look something like this:</p>
<source>
<-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 -->
<!--
@@ -373,16 +373,16 @@
setting up SSL communication.</p>
<p>The <code>port</code> attribute (default value is 8443) is the TCP/IP
-port number on which Tomcat will listen for secure connections. You can
+port number on which JBoss Web will listen for secure connections. You can
change this to any port number you wish (such as to the default port for
<code>https</code> communications, which is 443). However, special setup
-(outside the scope of this document) is necessary to run Tomcat on port
+(outside the scope of this document) is necessary to run JBoss Web on port
numbers lower than 1024 on many operating systems.</p>
<blockquote><em>
<p>If you change the port number here, you should also change the
value specified for the <code>redirectPort</code> attribute on the
- non-SSL connector. This allows Tomcat to automatically redirect
+ non-SSL connector. This allows JBoss Web to automatically redirect
users who attempt to access a page with a security constraint specifying
that SSL is required, as required by the Servlet 2.4 Specification.</p>
</em></blockquote>
@@ -398,9 +398,9 @@
</tr>
<tr>
<td><code>clientAuth</code></td>
- <td>Set this value to <code>true</code> if you want Tomcat to require
+ <td>Set this value to <code>true</code> if you want JBoss Web to require
all SSL clients to present a client Certificate in order to use
- this socket. Set this value to <code>want</code> if you want Tomcat
+ this socket. Set this value to <code>want</code> if you want JBoss Web
to request a client Certificate, but not fail if one isn't presented.
</td>
</tr>
@@ -419,16 +419,16 @@
<tr>
<td><code>keystoreFile</code></td>
<td>Add this attribute if the keystore file you created is not in
- the default place that Tomcat expects (a file named
+ the default place that JBoss Web expects (a file named
<code>.keystore</code> in the user home directory under
- which Tomcat is running). You can specify an absolute pathname,
+ which JBoss Web is running). You can specify an absolute pathname,
or a relative pathname that is resolved against the
<code>$CATALINA_BASE</code> environment variable.</td>
</tr>
<tr>
<td><code>keystorePass</code></td>
<td>Add this element if you used a different keystore (and Certificate)
- password than the one Tomcat expects (<code>changeit</code>).</td>
+ password than the one JBoss Web expects (<code>changeit</code>).</td>
</tr>
<tr>
<td><code>keystoreType</code></td>
@@ -478,14 +478,14 @@
</tr>
</table>
-<p>After completing these configuration changes, you must restart Tomcat as
+<p>After completing these configuration changes, you must restart JBoss Web as
you normally do, and you should be in business. You should be able to access
-any web application supported by Tomcat via SSL. For example, try:</p>
+any web application supported by JBoss Web via SSL. For example, try:</p>
<source>
https://localhost:8443
</source>
-<p>and you should see the usual Tomcat splash page (unless you have modified
+<p>and you should see the usual JBoss Web splash page (unless you have modified
the ROOT web application). If this does not work, the following section
contains some troubleshooting tips.</p>
@@ -560,44 +560,44 @@
<a href="#Download and Install JSSE">download and install JSSE</a>.</p>
</blockquote></li>
-<li>When Tomcat starts up, I get an exception like
+<li>When JBoss Web starts up, I get an exception like
"java.io.FileNotFoundException: {some-directory}/{some-file} not found".
<blockquote>
- <p>A likely explanation is that Tomcat cannot find the keystore file
- where it is looking. By default, Tomcat expects the keystore file to
+ <p>A likely explanation is that JBoss Web cannot find the keystore file
+ where it is looking. By default, JBoss Web expects the keystore file to
be named <code>.keystore</code> in the user home directory under which
- Tomcat is running (which may or may not be the same as yours :-). If
+ JBoss Web is running (which may or may not be the same as yours :-). If
the keystore file is anywhere else, you will need to add a
<code>keystoreFile</code> attribute to the <code><Factory></code>
- element in the <a href="#Edit the Tomcat Configuration File">Tomcat
+ element in the <a href="#Edit the JBoss Web Configuration File">JBoss Web
configuration file</a>.</p>
</blockquote></li>
-<li>When Tomcat starts up, I get an exception like
+<li>When JBoss Web starts up, I get an exception like
"java.io.FileNotFoundException: Keystore was tampered with, or
password was incorrect".
<blockquote>
<p>Assuming that someone has not <em>actually</em> tampered with
- your keystore file, the most likely cause is that Tomcat is using
+ your keystore file, the most likely cause is that JBoss Web is using
a different password than the one you used when you created the
keystore file. To fix this, you can either go back and
<a href="#Prepare the Certificate Keystore">recreate the keystore
file</a>, or you can add or update the <code>keystorePass</code>
attribute on the <code><Connector></code> element in the
- <a href="#Edit the Tomcat Configuration File">Tomcat configuration
+ <a href="#Edit the JBoss Web Configuration File">JBoss Web configuration
file</a>. <strong>REMINDER</strong> - Passwords are case sensitive!</p>
</blockquote></li>
-<li>When Tomcat starts up, I get an exception like
+<li>When JBoss Web starts up, I get an exception like
"java.net.SocketException: SSL handshake errorjavax.net.ssl.SSLException: No
available certificate or key corresponds to the SSL cipher suites which are
enabled."
<blockquote>
- <p>A likely explanation is that Tomcat cannot find the alias for the server
+ <p>A likely explanation is that JBoss Web cannot find the alias for the server
key withinthe specified keystore. Check that the correct
<code>keystoreFile</code> and <code>keyAlias</code> are specified in the
<code><Connector></code> element in the
- <a href="#Edit the Tomcat Configuration File">Tomcat configuration file</a>.
+ <a href="#Edit the JBoss Web Configuration File">JBoss Web configuration file</a>.
<strong>REMINDER</strong> - <code>keyAlias</code> values may be case
sensitive!</p>
</blockquote></li>
Modified: trunk/webapps/docs/tomcat-docs.xsl
===================================================================
--- trunk/webapps/docs/tomcat-docs.xsl 2007-09-05 10:18:48 UTC (rev 264)
+++ trunk/webapps/docs/tomcat-docs.xsl 2007-09-05 14:51:59 UTC (rev 265)
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<!-- Content Stylesheet for "tomcat-docs" Documentation -->
+<!-- Content Stylesheet for "docs" Documentation -->
<!-- $Id: tomcat-docs.xsl 467215 2006-10-24 03:12:55Z markt $ -->
Modified: trunk/webapps/docs/virtual-hosting-howto.xml
===================================================================
--- trunk/webapps/docs/virtual-hosting-howto.xml 2007-09-05 10:18:48 UTC (rev 264)
+++ trunk/webapps/docs/virtual-hosting-howto.xml 2007-09-05 14:51:59 UTC (rev 265)
@@ -7,7 +7,7 @@
&project;
<properties>
- <title>Virtual Hosting and Tomcat</title>
+ <title>Virtual Hosting and JBoss Web</title>
</properties>
<body>
@@ -16,7 +16,7 @@
<p>
For the sake of this how-to, assume you have a development host with two
host names, <code>ren</code> and <code>stimpy</code>. Let's also assume
- one instance of Tomcat running, so <code>$CATALINA_HOME</code> refers to
+ one instance of JBoss Web running, so <code>$CATALINA_HOME</code> refers to
wherever it's installed, perhaps <code>/usr/local/tomcat</code>.
</p>
<p>
@@ -86,7 +86,7 @@
$CATALINA_HOME/conf/Catalina/stimpy/ROOT.xml
</source>
<p>
- If you want to use the Tomcat manager webapp for each host, you'll also
+ If you want to use the JBoss Web manager webapp for each host, you'll also
need to add it here:
</p>
<source>
17 years, 3 months
JBossWeb SVN: r264 - in trunk/java/org/apache/catalina: realm and 1 other directories.
by jbossweb-commits@lists.jboss.org
Author: remy.maucherat(a)jboss.com
Date: 2007-09-05 06:18:48 -0400 (Wed, 05 Sep 2007)
New Revision: 264
Modified:
trunk/java/org/apache/catalina/core/ApplicationDispatcher.java
trunk/java/org/apache/catalina/realm/JNDIRealm.java
trunk/java/org/apache/catalina/startup/Embedded.java
Log:
- Logging cleanup.
- Port fix for recycling with cross context.
- Port fixes to JNDI realm.
Modified: trunk/java/org/apache/catalina/core/ApplicationDispatcher.java
===================================================================
--- trunk/java/org/apache/catalina/core/ApplicationDispatcher.java 2007-09-04 23:06:49 UTC (rev 263)
+++ trunk/java/org/apache/catalina/core/ApplicationDispatcher.java 2007-09-05 10:18:48 UTC (rev 264)
@@ -59,7 +59,7 @@
* <code>javax.servlet.ServletResponseWrapper</code>.
*
* @author Craig R. McClanahan
- * @version $Revision: 531415 $ $Date: 2007-04-23 12:30:02 +0200 (lun., 23 avr. 2007) $
+ * @version $Revision: 572856 $ $Date: 2007-09-05 04:01:02 +0200 (mer., 05 sept. 2007) $
*/
final class ApplicationDispatcher
@@ -341,10 +341,6 @@
wrequest.setQueryString(hrequest.getQueryString());
processRequest(request,response,state);
-
- wrequest.recycle();
- unwrapRequest(state);
-
}
// Handle an HTTP path-based forward
@@ -377,10 +373,6 @@
}
processRequest(request,response,state);
-
- wrequest.recycle();
- unwrapRequest(state);
-
}
// This is not a real close in order to support error processing
@@ -521,8 +513,6 @@
ApplicationFilterFactory.DISPATCHER_REQUEST_PATH_ATTR,
servletPath);
invoke(state.outerRequest, state.outerResponse, state);
-
- wrequest.recycle();
}
// Handle an HTTP path based include
@@ -555,8 +545,6 @@
ApplicationFilterFactory.DISPATCHER_REQUEST_PATH_ATTR,
servletPath);
invoke(state.outerRequest, state.outerResponse, state);
-
- wrequest.recycle();
}
}
@@ -731,7 +719,9 @@
// See Bugzilla 30949
unwrapRequest(state);
unwrapResponse(state);
-
+ // Recycle request if necessary (also BZ 30949)
+ recycleRequestWrapper(state);
+
// Rethrow an exception if one was thrown by the invoked servlet
if (ioException != null)
throw ioException;
@@ -986,4 +976,9 @@
"applicationDispatcher.specViolation.response"));
}
}
+
+ private void recycleRequestWrapper(State state) {
+ if (state.wrapRequest instanceof ApplicationHttpRequest) {
+ ((ApplicationHttpRequest) state.wrapRequest).recycle(); }
+ }
}
Modified: trunk/java/org/apache/catalina/realm/JNDIRealm.java
===================================================================
--- trunk/java/org/apache/catalina/realm/JNDIRealm.java 2007-09-04 23:06:49 UTC (rev 263)
+++ trunk/java/org/apache/catalina/realm/JNDIRealm.java 2007-09-05 10:18:48 UTC (rev 264)
@@ -35,6 +35,7 @@
import javax.naming.NameParser;
import javax.naming.Name;
import javax.naming.AuthenticationException;
+import javax.naming.ServiceUnavailableException;
import javax.naming.directory.Attribute;
import javax.naming.directory.Attributes;
import javax.naming.directory.DirContext;
@@ -150,7 +151,7 @@
*
* @author John Holman
* @author Craig R. McClanahan
- * @version $Revision: 539907 $ $Date: 2007-05-20 20:33:16 +0200 (dim., 20 mai 2007) $
+ * @version $Revision: 572859 $ $Date: 2007-09-05 04:14:45 +0200 (mer., 05 sept. 2007) $
*/
public class JNDIRealm extends RealmBase {
@@ -840,6 +841,21 @@
// Try the authentication again.
principal = authenticate(context, username, credentials);
+ } catch (ServiceUnavailableException e) {
+
+ // log the exception so we know it's there.
+ containerLog.warn(sm.getString("jndiRealm.exception"), e);
+
+ // close the connection so we know it will be reopened.
+ if (context != null)
+ close(context);
+
+ // open a new directory context.
+ context = open();
+
+ // Try the authentication again.
+ principal = authenticate(context, username, credentials);
+
}
@@ -903,7 +919,7 @@
// Check the user's credentials
if (checkCredentials(context, user, credentials)) {
// Search for additional roles
- List roles = getRoles(context, user);
+ List<String> roles = getRoles(context, user);
return (new GenericPrincipal(this,
username,
credentials,
@@ -931,7 +947,7 @@
return (null);
// Search for additional roles
- List roles = getRoles(context, user);
+ List<String> roles = getRoles(context, user);
// Create and return a suitable Principal for this user
return (new GenericPrincipal(this, username, credentials, roles));
@@ -961,7 +977,7 @@
User user = null;
// Get attributes to retrieve from user entry
- ArrayList list = new ArrayList();
+ ArrayList<String> list = new ArrayList<String>();
if (userPassword != null)
list.add(userPassword);
if (userRoleName != null)
@@ -1020,7 +1036,7 @@
password = getAttributeValue(userPassword, attrs);
// Retrieve values of userRoleName attribute
- ArrayList roles = null;
+ ArrayList<String> roles = null;
if (userRoleName != null)
roles = addAttributeValues(userRoleName, attrs, roles);
@@ -1110,7 +1126,7 @@
password = getAttributeValue(userPassword, attrs);
// Retrieve values of userRoleName attribute
- ArrayList roles = null;
+ ArrayList<String> roles = null;
if (userRoleName != null)
roles = addAttributeValues(userRoleName, attrs, roles);
@@ -1264,7 +1280,6 @@
User user,
String credentials)
throws NamingException {
- Attributes attr;
if (credentials == null || user == null)
return (false);
@@ -1288,7 +1303,7 @@
if (containerLog.isTraceEnabled()) {
containerLog.trace(" binding as " + dn);
}
- attr = context.getAttributes("", null);
+ context.getAttributes("", null);
validated = true;
}
catch (AuthenticationException e) {
@@ -1328,7 +1343,7 @@
*
* @exception NamingException if a directory server error occurs
*/
- protected List getRoles(DirContext context, User user)
+ protected List<String> getRoles(DirContext context, User user)
throws NamingException {
if (user == null)
@@ -1344,9 +1359,9 @@
containerLog.trace(" getRoles(" + dn + ")");
// Start with roles retrieved from the user entry
- ArrayList list = user.roles;
+ ArrayList<String> list = user.roles;
if (list == null) {
- list = new ArrayList();
+ list = new ArrayList<String>();
}
// Are we configured to do role searches?
@@ -1433,9 +1448,9 @@
*
* @exception NamingException if a directory server error occurs
*/
- private ArrayList addAttributeValues(String attrId,
+ private ArrayList<String> addAttributeValues(String attrId,
Attributes attrs,
- ArrayList values)
+ ArrayList<String> values)
throws NamingException{
if (containerLog.isTraceEnabled())
@@ -1443,7 +1458,7 @@
if (attrId == null || attrs == null)
return values;
if (values == null)
- values = new ArrayList();
+ values = new ArrayList<String>();
Attribute attr = attrs.get(attrId);
if (attr == null)
return (values);
@@ -1534,6 +1549,21 @@
// Try the authentication again.
principal = getPrincipal(context, username);
+ } catch (ServiceUnavailableException e) {
+
+ // log the exception so we know it's there.
+ containerLog.warn(sm.getString("jndiRealm.exception"), e);
+
+ // close the connection so we know it will be reopened.
+ if (context != null)
+ close(context);
+
+ // open a new directory context.
+ context = open();
+
+ // Try the authentication again.
+ principal = getPrincipal(context, username);
+
}
@@ -1620,7 +1650,7 @@
*/
protected Hashtable getDirectoryContextEnvironment() {
- Hashtable env = new Hashtable();
+ Hashtable<String,String> env = new Hashtable<String,String>();
// Configure our directory context environment.
if (containerLog.isDebugEnabled() && connectionAttempt == 0)
@@ -1714,7 +1744,7 @@
protected String[] parseUserPatternString(String userPatternString) {
if (userPatternString != null) {
- ArrayList pathList = new ArrayList();
+ ArrayList<String> pathList = new ArrayList<String>();
int startParenLoc = userPatternString.indexOf('(');
if (startParenLoc == -1) {
// no parens here; return whole thing
@@ -1802,10 +1832,11 @@
String username = null;
String dn = null;
String password = null;
- ArrayList roles = null;
+ ArrayList<String> roles = null;
- User(String username, String dn, String password, ArrayList roles) {
+ User(String username, String dn, String password,
+ ArrayList<String> roles) {
this.username = username;
this.dn = dn;
this.password = password;
Modified: trunk/java/org/apache/catalina/startup/Embedded.java
===================================================================
--- trunk/java/org/apache/catalina/startup/Embedded.java 2007-09-04 23:06:49 UTC (rev 263)
+++ trunk/java/org/apache/catalina/startup/Embedded.java 2007-09-05 10:18:48 UTC (rev 264)
@@ -886,7 +886,7 @@
protected void initNaming() {
// Setting additional variables
if (!useNaming) {
- log.info( "Catalina naming disabled");
+ log.debug( "Catalina naming disabled");
System.setProperty("catalina.useNaming", "false");
} else {
System.setProperty("catalina.useNaming", "true");
17 years, 3 months
JBossWeb SVN: r263 - trunk/webapps/docs.
by jbossweb-commits@lists.jboss.org
Author: remy.maucherat(a)jboss.com
Date: 2007-09-04 19:06:49 -0400 (Tue, 04 Sep 2007)
New Revision: 263
Removed:
trunk/webapps/docs/balancer-howto.xml
trunk/webapps/docs/cluster-howto.xml
trunk/webapps/docs/developers.xml
trunk/webapps/docs/extras.xml
trunk/webapps/docs/status.xml
Modified:
trunk/webapps/docs/aio.xml
trunk/webapps/docs/apr.xml
trunk/webapps/docs/building.xml
trunk/webapps/docs/cgi-howto.xml
trunk/webapps/docs/changelog.xml
trunk/webapps/docs/class-loader-howto.xml
trunk/webapps/docs/connectors.xml
trunk/webapps/docs/default-servlet.xml
trunk/webapps/docs/deployer-howto.xml
trunk/webapps/docs/html-manager-howto.xml
trunk/webapps/docs/index.xml
trunk/webapps/docs/introduction.xml
trunk/webapps/docs/jasper-howto.xml
trunk/webapps/docs/legal.xml
trunk/webapps/docs/project.xml
Log:
- Branding of docs (part 1/3).
Modified: trunk/webapps/docs/aio.xml
===================================================================
--- trunk/webapps/docs/aio.xml 2007-09-04 17:46:10 UTC (rev 262)
+++ trunk/webapps/docs/aio.xml 2007-09-04 23:06:49 UTC (rev 263)
@@ -7,7 +7,7 @@
&project;
<properties>
- <title>Advanced IO and Tomcat</title>
+ <title>Advanced IO and JBoss Web</title>
<author>Remy Maucherat</author>
</properties>
@@ -16,7 +16,7 @@
<section name="Introduction">
<p>
- With usage of the APR API as the basis of its connectors, Tomcat is
+ With usage of the APR API as the basis of its connectors, JBoss Web is
able to provide a number of extensions over the regular blocking IO
as provided with support for the Servlet API.
</p>
@@ -126,7 +126,7 @@
<p>
The close() method ends the request, which marks the end of the comet session. This will send
back to the client a notice that the server has no more data to send
- as part of this request. If this method is called from a Tomcat provided thread
+ as part of this request. If this method is called from a conatiner provided thread
(during the processing of an event), the container will not call an END event.
If this method is called asynchronously, an END event will be sent to the
servlet (note that this event will be sent whenever another event would have
@@ -157,7 +157,7 @@
The suspend() method suspends processing of the connection until the configured timeout occurs,
or resume() is called. In practice, this means the servlet will no longer
receive read events. Reading should always be performed synchronously in
- the Tomcat threads unless the connection has been suspended.
+ the contaner threads unless the connection has been suspended.
</p>
<p>
@@ -335,7 +335,7 @@
<section name="Asynchronous writes">
<p>
- When APR is enabled, Tomcat supports using sendfile to send large static files.
+ When APR is enabled, JBoss Web supports using sendfile to send large static files.
These writes, as soon as the system load increases, will be performed
asynchronously in the most efficient way. Instead of sending a large response using
blocking writes, it is possible to write content to a static file, and write it
@@ -346,7 +346,7 @@
</p>
<p>
- Any servlet can instruct Tomcat to perform a sendfile call by setting the appropriate
+ Any servlet can instruct JBoss Web to perform a sendfile call by setting the appropriate
response attributes. When using sendfile, it is best to ensure that neither the
request or response have been wrapped, since as the response body will be sent later
by the connector itself, it cannot be filtered. Other than setting the 3 needed
Modified: trunk/webapps/docs/apr.xml
===================================================================
--- trunk/webapps/docs/apr.xml 2007-09-04 17:46:10 UTC (rev 262)
+++ trunk/webapps/docs/apr.xml 2007-09-04 23:06:49 UTC (rev 263)
@@ -7,7 +7,7 @@
&project;
<properties>
- <title>Apache Portable Runtime and Tomcat</title>
+ <title>Apache Portable Runtime and JBoss Web</title>
<author>Remy Maucherat</author>
</properties>
@@ -26,7 +26,7 @@
</p>
<p>
- These features allows making Tomcat a general purpose webserver, will enable much better
+ These features allows making JBoss Web a general purpose webserver, will enable much better
integration with other native web technologies, and overall make Java much more viable as
a full fledged webserver platform rather than simply a backend focused technology.
</p>
@@ -39,7 +39,7 @@
APR support requires three main native components to be installed:
<ul>
<li>APR library</li>
- <li>JNI wrappers for APR used by Tomcat (libtcnative)</li>
+ <li>JNI wrappers for APR used by JBoss Web (libtcnative)</li>
<li>OpenSSL libraries</li>
</ul>
</p>
@@ -76,7 +76,7 @@
</p>
<p>
- The wrapper library sources are located in the Tomcat binary bundle, in the
+ The wrapper library sources are located in the JBoss Web binary bundle, in the
<code>bin/tomcat-native.tar.gz</code> archive.
Once the build environment is installed and the source archive is extracted, the wrapper library
can be compiled using (from the folder containing the configure script):
@@ -91,18 +91,18 @@
<p>
Once the libraries are properly installed and available to Java (if loading fails, the library path
- will be displayed), the Tomcat connectors will automatically use APR. Configuration of the connectors
+ will be displayed), the JBoss Web connectors will automatically use APR. Configuration of the connectors
is similar to the regular connectors, but have a few extra attributes which are used to configure
APR components. Note that the defaults should be well tuned for most use cases, and additional
tweaking shouldn't be required.
</p>
<p>
- When APR is enabled, the following features are also enabled in Tomcat:
+ When APR is enabled, the following features are also enabled in JBoss Web:
<ul>
<li>Secure session ID generation by default on all platforms (platforms other than Linux required
random number generation using a configured entropy)</li>
- <li>OS level statistics on memory usage and CPU usage by the Tomcat process are displayed by
+ <li>OS level statistics on memory usage and CPU usage by the JBoss Web process are displayed by
the status servlet</li>
</ul>
</p>
@@ -297,7 +297,7 @@
When APR is enabled, the AJP connector will use a socket poller for keepalive, increasing
scalability of the server. As AJP is designed around a pool of persistent (or almost
persistent) connections, this will reduce significantly the amount of processing threads
- needed by Tomcat. Unlike the HTTP connector, the AJP connector cannot use sendfile to optimize
+ needed by JBoss Web. Unlike the HTTP connector, the AJP connector cannot use sendfile to optimize
static file processing.
</p>
Deleted: trunk/webapps/docs/balancer-howto.xml
===================================================================
--- trunk/webapps/docs/balancer-howto.xml 2007-09-04 17:46:10 UTC (rev 262)
+++ trunk/webapps/docs/balancer-howto.xml 2007-09-04 23:06:49 UTC (rev 263)
@@ -1,152 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE document [
- <!ENTITY project SYSTEM "project.xml">
-]>
-<document url="balancer-howto.html">
-
- &project;
-
- <properties>
- <author email="yoavs(a)apache.org">Yoav Shapira</author>
- <author>Remy Maucherat</author>
- <author>Andy Oliver</author>
- <title>Load Balancer HOW-TO</title>
- </properties>
-
-<body>
-
-<section name="Table of Contents">
-<p>
-<a href="#Using the JK 1.2.x native connector">
-Using the JK native connector</a><br />
-<a href="#Using Apache HTTP Server 2.x with mod_proxy">
-Using Apache HTTP Server 2.x and mod_proxy</a><br />
-<!--
-<a href="#Using the balancer webapp">Using the balancer webapp</a><br />
--->
-</p>
-</section>
-
-<section name="Using the JK 1.2.x native connector">
-
-Please refer to the JK 1.2.x documentation.
-
-</section>
-
-<section name="Using Apache HTTP Server 2.x with mod_proxy">
-
-Please refer to the mod_proxy documentation for Apache HTTP Server 2.2. This supports either
-HTTP or AJP load balancing. This new version of mod_proxy is also useable with
-Apache HTTP Server 2.0, but mod_proxy will have to be compiled separately using the code
-from Apache HTTP Server 2.2.
-
-</section>
-
-<!--
-<section name="Using the balancer webapp">
-
-<subsection name="Overview">
-
-<p>
-Tomcat 5.0.15 and later ships with a webapp named balancer. This is
-a simple implemention of a rules-based load balancer. It was not designed
-as a replacement for other load-balancing mechanisms used for high traffic
-environments. Rather, it is a simple, pure Java, easily extensible, and fast
-way to direct traffic among multiple servers.
-</p>
-<p>
-Although balancer ships with Tomcat, it is not Tomcat-specific and runs
-on other containers without any modification. The balancer webapp
-requires a Servlet Specification 2.3 or later container if you wish
-to use a filter to redirect traffic. If you wish to redirect traffic
-using a servlet, you may use any servlet container.
-</p>
-</subsection>
-
-<subsection name="Sample Configuration">
-<p>
-The default balancer installation uses a single filter, BalancerFilter,
-mapped to all requests (url-pattern /*). The filter reads its rules
-from the location specified in the balancer deployment descriptor
-(web.xml file). The default rules are:
-<ul>
- <li>Redirect requests with News in the URL to www.cnn.com</li>
- <li>Redirect requests with a parameter named paramName whose
-value is paramValue to www.yahoo.com.</li>
- <li>Redirect all other requests to jakarta.apache.org.</li>
-</ul>
-
-Therefore, when you install tomcat, start it, and point your
-browser to http://localhost:8080/balancer, you will be redirected
-to http://jakarta.apache.org. If you point your browser to
-http://localhost:8080/balancer/News you will be redirected to
-http://www.cnn.com. The request for
-http://localhost:8080/balancer/BlahBlah?paramName=paramValue will
-be redirected to http://www.yahoo.com.
-</p>
-</subsection>
-
-<subsection name="Balancer Rules">
-<p>
-A <i>Rule</i> in the balancer system is a combination of
-a request matching criterion and a redirection URL for
-matching requests. Rules implement the
-org.apache.webapp.balancer.Rule interface.
-</p>
-
-<p>
-The balancer distribution contains a number of useful
-rules. The framework is also designed for easy extensibility
-so that you can write your own rules quickly. Rules
-should be JavaBeans (public no-args constructor, public
-setter method setXXX for property xxx), as they are
-instantiated by Jakarta Commons Digester. Feel free
-to inquire on the tomcat-user mailing list regarding
-the availability of rules or the inclusion of your rules
-in the distribution.
-</p>
-
-<p>
-Rules are assembled into RuleChains. Each BalancerFilter
-(or Servlet/JSP) refers to one RuleChain when making its
-redirection decisions. Note that you are not restricted
-to having one filter mapped to /* as done in the sample
-configuration. You can configure as many filters as
-desired, using the full filter mapping possibilities defined
-in the Servlet Specification. Each filter will have
-its own RuleChain.
-</p>
-</subsection>
-
-<subsection name="How it Works">
-<p>
-<ol>
- <li>You write a rules configuration file containing various
-rules and redirection locations.</li>
- <li>You define the balancer filter in your web.xml, mapping
-it as desired (/* is a common use-case) and configuring it
-with your rules configuration file.</li>
- <li>The server is started, initializing the filter.</li>
- <li>A request comes into the server. The filter consults
-its rule chain to determine where to redirect the request. Rules
-are consulted in the order in which they are defined in the rules
-configuration file. The first matching rule will stop the
-evaluation and cause the request to be redirected.</li>
-</ol>
-</p>
-
-</subsection>
-
-<subsection name="Comments">
-<p>
-Please direct questions, comments, suggestions, etc. to the
-tomcat-user mailing list. Thank you.
-</p>
-</subsection>
-
-</section>
--->
-
-</body>
-
-</document>
Modified: trunk/webapps/docs/building.xml
===================================================================
--- trunk/webapps/docs/building.xml 2007-09-04 17:46:10 UTC (rev 262)
+++ trunk/webapps/docs/building.xml 2007-09-04 23:06:49 UTC (rev 263)
@@ -16,7 +16,7 @@
<section name="Introduction">
<p>
-Building Apache Tomcat from SVN is very easy, and is the first step to contributing to
+Building JBoss Web from SVN is very easy, and is the first step to contributing to
Tomcat. The following is a step by step TODO list.
</p>
@@ -59,34 +59,34 @@
</section>
-<section name="Checkout or obtain the source code for Tomcat 6.0">
+<section name="Checkout or obtain the source code for JBoss Web">
<p>
- Tomcat SVN repository URL:
- <code>http://svn.apache.org/repos/asf/tomcat/tc6.0.x/</code>
+ JBoss Web SVN repository URL:
+ <code>http://svn.jboss.org/repos/jbossweb/trunk</code>
</p>
<p>
Download a source package from:
- <code>http://tomcat.apache.org/download-60.cgi</code>
+ <code>http://labs.jboss.com/jbossweb/</code>
</p>
<p>
Checkout the source using SVN, selecting the desired version or
branch (current development source is at
- <code>http://svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk/</code>), or
+ <code>http://svn.jboss.org/repos/jbossweb/trunk</code>), or
unpack the source package. The location where the source has been
- placed will be referred as ${tomcat.source}.
+ placed will be referred as ${jbossweb.source}.
</p>
</section>
-<section name="Building Tomcat">
+<section name="Building JBoss Web">
<p>
Use the following commands:
<code><br/>
- cd ${tomcat.source}<br/>
+ cd ${jbossweb.source}<br/>
ant download<br/>
ant<br/>
</code>
@@ -107,7 +107,7 @@
</p>
<p>
-The build can be controlled by creating a ${tomcat.source}/build.properties
+The build can be controlled by creating a ${jbossweb.source}/build.properties
file, and adding the following content to it:
<code><br/>
# ----- Proxy setup -----<br/>
@@ -129,9 +129,9 @@
<p>
<b>Important:</b>
-This is not a supported means of building Tomcat; this information is
+This is not a supported means of building JBoss Web; this information is
provided without warranty :-).
-The only supported means of building Tomcat is with the "ant build"
+The only supported means of building JBoss Web is with the "ant build"
described above.
However, some developers like to work on Java code with a Java IDE,
and the following steps have been used by some developers.
@@ -166,7 +166,7 @@
Use File->New Project to create a new Java project
for each of the binaries repository (e.g., /usr/share/java),
container, connectors, jasper, servletapi.
-Unless you thought ahead to make the ${tomcat.source} directory be under
+Unless you thought ahead to make the ${jbossweb.source} directory be under
your Workspace folder, tell Eclipse the external location using "Import/Export...",
General->Existing Project into Workspace.
</p>
@@ -180,22 +180,13 @@
</p>
<p>
-To run Tomcat without a special IDE plug-in, you can simply use Run->Run...
+To run JBoss Web without a special IDE plug-in, you can simply use Run->Run...
enter "org.apache.catalina.startup.Catalina" as the main class,
"start" as program arguments, and
"-Dcatalina.home=..." (with the name of your build directory)
as VM arguments.
</p>
-<p>
-Note also that due to the way the Tomcat source is assembled
-from several SVN projects, you may not be able to use the Eclipse
-SVN client to update (nor to commit, if you are a committer).
-Use the external SVN client of your choice, then use the
-Eclipse PackageExplorer or Navigator "Refresh" context menu item
-to tell Eclipse that you've updated the files.
-</p>
-
</section>
<section name="Building with other IDEs">
Modified: trunk/webapps/docs/cgi-howto.xml
===================================================================
--- trunk/webapps/docs/cgi-howto.xml 2007-09-04 17:46:10 UTC (rev 262)
+++ trunk/webapps/docs/cgi-howto.xml 2007-09-04 23:06:49 UTC (rev 263)
@@ -20,11 +20,11 @@
referred to as CGI programs or CGI scripts.
</p>
-<p>Within Tomcat, CGI support can be added when you are using Tomcat as your
+<p>Within JBoss Web, CGI support can be added when you are using JBoss Web as your
HTTP server and require CGI support. Typically this is done
during development when you don't want to run a web server like
Apache httpd.
-Tomcat's CGI support is largely compatible with Apache httpd's,
+JBoss Web's CGI support is largely compatible with Apache httpd's,
but there are some limitations (e.g., only one cgi-bin directory).
</p>
@@ -32,13 +32,13 @@
<code>org.apache.catalina.servlets.CGIServlet</code>. Traditionally,
this servlet is mapped to the URL pattern "/cgi-bin/*".</p>
-<p>By default CGI support is disabled in Tomcat.</p>
+<p>By default CGI support is disabled in JBoss Web.</p>
</section>
<section name="Installation">
<p><strong>CAUTION</strong> - CGI scripts are used to execute programs
-external to the Tomcat JVM. If you are using the Java SecurityManager this
+external to the JBoss Web JVM. If you are using the Java SecurityManager this
will bypass your security policy configuration in <code>catalina.policy.</code></p>
<p>Remove the XML comments from around the CGI servlet and servlet-mapping
Modified: trunk/webapps/docs/changelog.xml
===================================================================
--- trunk/webapps/docs/changelog.xml 2007-09-04 17:46:10 UTC (rev 262)
+++ trunk/webapps/docs/changelog.xml 2007-09-04 23:06:49 UTC (rev 263)
@@ -19,7 +19,8 @@
<subsection name="General">
<changelog>
<update>
- Swicth to JBoss logging. (remm)
+ Swicth to JBoss logging from Apache Commons Logging. Standalone JBoss Web uses
+ a special purpose version defaulting to use java.util.logging. (remm)
</update>
</changelog>
</subsection>
@@ -49,9 +50,6 @@
<fix>
Use the system property for the session cookie name. (jfclere)
</fix>
- <update>
- Validation for elements and attributes of server.xml. (remm)
- </update>
</changelog>
</subsection>
<subsection name="Coyote">
@@ -100,6 +98,9 @@
In the APR connector, start accepting connections after fully starting
the connector, to prevent possible exceptions due to non initialized fields. (remm)
</fix>
+ <fix>
+ Fixes to B2C conversion. (billbarker)
+ </fix>
</changelog>
</subsection>
<subsection name="Jasper">
Modified: trunk/webapps/docs/class-loader-howto.xml
===================================================================
--- trunk/webapps/docs/class-loader-howto.xml 2007-09-04 17:46:10 UTC (rev 262)
+++ trunk/webapps/docs/class-loader-howto.xml 2007-09-04 23:06:49 UTC (rev 263)
@@ -17,7 +17,7 @@
<section name="Overview">
-<p>Like many server applications, Tomcat 6 installs a variety of class loaders
+<p>Like many server applications, JBoss Web installs a variety of class loaders
(that is, classes that implement <code>java.lang.ClassLoader</code>) to allow
different portions of the container, and the web applications running on the
container, to have access to different repositories of available classes and
@@ -32,7 +32,7 @@
web application class loaders differs slightly from this, as discussed below,
but the main principles are the same.</p>
-<p>When Tomcat 6 is started, it creates a set of class loaders that are
+<p>When JBoss Web is started, it creates a set of class loaders that are
organized into the following parent-child relationships, where the parent
class loader is above the child class loader:</p>
@@ -54,7 +54,7 @@
<section name="Class Loader Definitions">
-<p>As indicated in the diagram above, Tomcat 6 creates the following class
+<p>As indicated in the diagram above, JBoss Web creates the following class
loaders as it is initialized:</p>
<ul>
<li><strong>Bootstrap</strong> - This class loader contains the basic runtime
@@ -66,20 +66,20 @@
<li><strong>System</strong> - This class loader is normally initialized from
the contents of the <code>CLASSPATH</code> environment variable. All such
classes are visible to both Tomcat internal classes, and to web
- applications. However, the standard Tomcat 5 startup scripts
+ applications. However, the standard JBoss Web startup scripts
(<code>$CATALINA_HOME/bin/catalina.sh</code> or
<code>%CATALINA_HOME%\bin\catalina.bat</code>) totally ignore the contents
of the <code>CLASSPATH</code> environment variable itself, and instead
build the System class loader from the following repositories:
<ul>
<li><em>$CATALINA_HOME/bin/bootstrap.jar</em> - Contains the main() method
- that is used to initialize the Tomcat 6 server, and the class loader
+ that is used to initialize the JBoss Web server, and the class loader
implementation classes it depends on.</li>
- <li><em>$CATALINA_HOME/bin/tomcat-juli.jar</em> - Package renamed Jakarta commons
- logging API, and java.util.logging LogManager.</li>
+ <li><em>$CATALINA_HOME/bin/tomcat-juli.jar</em> - JBoss Logging API,
+ and java.util.logging LogManager.</li>
</ul></li>
<li><strong>Common</strong> - This class loader contains additional classes
- that are made visible to both Tomcat internal classes and to all web
+ that are made visible to both JBoss Web internal classes and to all web
applications. Normally, application classes should <strong>NOT</strong>
be placed here. All unpacked classes and resources in
<code>$CATALINA_HOME/lib</code>, as well as classes and
@@ -88,17 +88,15 @@
<ul>
<li><em>annotations-api.jar</em> - JEE annotations classes.</li>
<li><em>catalina.jar</em> - Implementation of the Catalina servlet
- container portion of Tomcat 6.</li>
- <li><em>catalina-ant.jar</em> - Tomcat Catalina Ant tasks.</li>
- <li><em>catalina-ha.jar</em> - High availability package.</li>
- <li><em>catalina-tribes.jar</em> - Group communication package.</li>
+ container portion of JBoss Web.</li>
+ <li><em>catalina-ant.jar</em> - JBoss Web Catalina Ant tasks.</li>
<li><em>el-api.jar</em> - EL 2.1 API.</li>
<li><em>jasper.jar</em> - Jasper 2 Compiler and Runtime.</li>
<li><em>jasper-el.jar</em> - Jasper 2 EL implementation.</li>
<li><em>jasper-jdt.jar</em> - Eclipse JDT 3.2 Java compiler.</li>
<li><em>jsp-api.jar</em> - JSP 2.1 API.</li>
<li><em>servlet-api.jar</em> - Servlet 2.5 API.</li>
- <li><em>tomcat-coyote.jar</em> - Tomcat connectors and utility classes.</li>
+ <li><em>tomcat-coyote.jar</em> - JBoss Web connectors and utility classes.</li>
<li><em>tomcat-dbcp.jar</em> - package renamed database connection
pool based on Commons DBCP.</li>
<li><em>tomcat-i18n-**.jar</em> - Optional JARs containing resource bundles
@@ -107,7 +105,7 @@
of messages is needed.</li>
</ul></li>
<li><strong>WebappX</strong> - A class loader is created for each web
- application that is deployed in a single Tomcat 6 instance. All unpacked
+ application that is deployed in a single JBoss Web instance. All unpacked
classes and resources in the <code>/WEB-INF/classes</code> directory of
your web application archive, plus classes and resources in JAR files
under the <code>/WEB-INF/lib</code> directory of your web application
@@ -127,7 +125,7 @@
used.
Last, any JAR containing servlet API classes will be ignored by the
classloader.
-All other class loaders in Tomcat 6 follow the usual delegation pattern.</p>
+All other class loaders in JBoss Web follow the usual delegation pattern.</p>
<p>Therefore, from the perspective of a web application, class or resource
loading looks in the following repositories, in this order:</p>
@@ -163,7 +161,7 @@
<a href="http://java.sun.com/j2se/1.5/docs/guide/standards/index.html">
http://java.sun.com/j2se/1.5/docs/guide/standards/index.html</a>.</p>
-<p>Tomcat utilizes this mechanism by including the system property setting
+<p>JBoss Web utilizes this mechanism by including the system property setting
<code>-Djava.endorsed.dirs=$CATALINA_HOME/endorsed</code> in the
command line that starts the container.</p>
Deleted: trunk/webapps/docs/cluster-howto.xml
===================================================================
--- trunk/webapps/docs/cluster-howto.xml 2007-09-04 17:46:10 UTC (rev 262)
+++ trunk/webapps/docs/cluster-howto.xml 2007-09-04 23:06:49 UTC (rev 263)
@@ -1,685 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE document [
- <!ENTITY project SYSTEM "project.xml">
-]>
-<document url="cluster-howto.html">
-
- &project;
-
- <properties>
- <author email="fhanik(a)apache.org">Filip Hanik</author>
- <author email="pero(a)apache.org">Peter Rossbach</author>
- <title>Clustering/Session Replication HOW-TO</title>
- </properties>
-
-<body>
-
-
-<section name="Important Note">
-<p><b>You can also check the <a href="config/cluster.html">configuration reference documentation.</a></b>
-</p>
-</section>
-
-<section name="For the impatient">
- <p>
- Simply add <source><Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/></source>
- to your <code><Engine></code> or your <code><Host></code> element to enable clustering.
- </p>
- <p>
- Using the above configuration will enable all-to-all session replication
- using the <code>DeltaManager</code> to replicate session deltas. By all-to-all we mean that the session gets replicated to all the other
- nodes in the cluster. This works great for smaller cluster but we don't recommend it for larger clusters(a lot of tomcat nodes).
- Also when using the delta manager it will replicate to all nodes, even nodes that don't have the application deployed.<br/>
- To get around this problem, you'll want to use the BackupManager. This manager only replicates the session data to one backup
- node, and only to nodes that have the application deployed. Downside of the BackupManager: not quite as battle tested as the delta manager.
- <br/>
- Here are some of the important default values:<br/>
- 1. Multicast address is 228.0.0.4<br/>
- 2. Multicast port is 45564 (the port and the address together determine cluster membership.<br/>
- 3. The IP broadcasted is <code>java.net.InetAddress.getLocalHost().getHostAddress()</code> (make sure you don't broadcast 127.0.0.1, this is a common error)<br/>
- 4. The TCP port listening for replication messages is the first available server socket in range <code>4000-4100</code><br/>
- 5. Two listeners are configured <code>ClusterSessionListener</code> and <code>JvmRouteSessionIDBinderListener</code><br/>
- 6. Two interceptors are configured <code>TcpFailureDetector</code> and <code>MessageDispatch15Interceptor</code><br/>
- The following is the default cluster configuration:<br/>
- <source>
- <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"
- channelSendOptions="8">
-
- <Manager className="org.apache.catalina.ha.session.DeltaManager"
- expireSessionsOnShutdown="false"
- notifyListenersOnReplication="true"/>
-
- <Channel className="org.apache.catalina.tribes.group.GroupChannel">
- <Membership className="org.apache.catalina.tribes.membership.McastService"
- address="228.0.0.4"
- port="45564"
- frequency="500"
- dropTime="3000"/>
- <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
- address="auto"
- port="4000"
- autoBind="100"
- selectorTimeout="5000"
- maxThreads="6"/>
-
- <Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
- <Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
- </Sender>
- <Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
- <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>
- </Channel>
-
- <Valve className="org.apache.catalina.ha.tcp.ReplicationValve"
- filter=""/>
- <Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>
-
- <Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"
- tempDir="/tmp/war-temp/"
- deployDir="/tmp/war-deploy/"
- watchDir="/tmp/war-listen/"
- watchEnabled="false"/>
-
- <ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/>
- <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
- </Cluster>
- </source>
- </p>
- <p>Will cover this section in more detail later in this document.</p>
-</section>
-
-<section name="Cluster Basics">
-
-<p>To run session replication in your Tomcat 6.0 container, the following steps
-should be completed:</p>
-<ul>
- <li>All your session attributes must implement <code>java.io.Serializable</code></li>
- <li>Uncomment the <code>Cluster</code> element in server.xml</li>
- <li>If you have defined custom cluster valves, make sure you have the <code>ReplicationValve</code> defined as well under the Cluster element in server.xml</li>
- <li>If your Tomcat instances are running on the same machine, make sure the <code>tcpListenPort</code>
- attribute is unique for each instance, in most cases Tomcat is smart enough to resolve this on it's own by autodetecting available ports in the range 4000-4100</li>
- <li>Make sure your <code>web.xml</code> has the <code><distributable/></code> element
- or set at your <code><Context distributable="true" /></code></li>
- <li>If you are using mod_jk, make sure that jvmRoute attribute is set at your Engine <code><Engine name="Catalina" jvmRoute="node01" ></code>
- and that the jvmRoute attribute value matches your worker name in workers.properties</li>
- <li>Make sure that all nodes have the same time and sync with NTP service!</li>
- <li>Make sure that your loadbalancer is configured for sticky session mode.</li>
-</ul>
-<p>Load balancing can be achieved through many techniques, as seen in the
-<a href="balancer-howto.html">Load Balancing</a> chapter.</p>
-<p>Note: Remember that your session state is tracked by a cookie, so your URL must look the same from the out
- side otherwise, a new session will be created.</p>
-<p>Note: Clustering support currently requires the JDK version 1.5 or later.</p>
-<p>The Cluster module uses the Tomcat JULI logging framework, so you can configure logging
- through the regular logging.properties file. To track messages, you can enable logging on the key:<code>org.apache.catalina.tribes.MESSAGES</code></p>
-</section>
-
-
-<section name="Overview">
-
-<p>To enable session replication in Tomcat, three different paths can be followed to achieve the exact same thing:</p>
-<ol>
- <li>Using session persistence, and saving the session to a shared file system (PersistenceManager + FileStore)</li>
- <li>Using session persistence, and saving the session to a shared database (PersistenceManager + JDBCStore)</li>
- <li>Using in-memory-replication, using the SimpleTcpCluster that ships with Tomcat 6 (lib/catalina-tribes.jar + lib/catalina-ha.jar)</li>
-</ol>
-
-<p>In this release of session replication, Tomcat can perform an all-to-all replication of session state using the <code>DeltaManager</code> or
- perform backup replication to only one node using the <code>BackupManager</code>.
- The all-to-all replication is an algorithm that is only efficient when the clusters are small. For larger clusters, to use
- a primary-secondary session replication where the session will only be stored at one backup server simply setup the BackupManager. <br/>
- Currently you can use the domain worker attribute (mod_jk > 1.2.8) to build cluster partitions
- with the potential of having a more scaleable cluster solution with the DeltaManager(you'll need to configure the domain interceptor for this).
- In order to keep the network traffic down in an all-to-all environment, you can split your cluster
- into smaller groups. This can be easily achieved by using different multicast addresses for the different groups.
- A very simple setup would look like this:
- </p>
-
-<source>
- DNS Round Robin
- |
- Load Balancer
- / \
- Cluster1 Cluster2
- / \ / \
- Tomcat1 Tomcat2 Tomcat3 Tomcat4
-</source>
-
-<p>What is important to mention here, is that session replication is only the beginning of clustering.
- Another popular concept used to implement clusters is farming, ie, you deploy your apps only to one
- server, and the cluster will distribute the deployments across the entire cluster.
- This is all capabilities that can go into with the FarmWarDeployer (s. cluster example at <code>server.xml</code>)</p>
-<p>In the next section will go deeper into how session replication works and how to configure it.</p>
-
-</section>
-
-<section name="Cluster Information">
-<p>Membership is established using multicast heartbeats.
- Hence, if you wish to subdivide your clusters, you can do this by
- changing the multicast IP address or port in the <code><Membership></code> element.
-</p>
-<p>
- The heartbeat contains the IP address of the Tomcat node and the TCP port that
- Tomcat listens to for replication traffic. All data communication happens over TCP.
-</p>
-<p>
- The <code>ReplicationValve</code> is used to find out when the request has been completed and initiate the
- replication, if any. Data is only replicated if the session has changed (by calling setAttribute or removeAttribute
- on the session).
-</p>
-<p>
- One of the most important performance considerations is the synchronous versus asynchronous replication.
- In a synchronous replication mode the request doesn't return until the replicated session has been
- sent over the wire and reinstantiated on all the other cluster nodes.
- Synchronous vs asynchronous is configured using the <code>channelSendOptions</code>
- flag and is an integer value. The default value for the <code>SimpleTcpCluster/DeltaManager</code> combo is
- 8, which is asynchronous. You can read more on the <a href="tribes/introduction.html">send flag(overview)</a> or the
- <a href="http://tomcat.apache.org/tomcat-6.0-doc/api/org/apache/catalina/tribes/Ch...">send flag(javadoc)</a>.
- During async replication, the request is returned before the data has been replicated. async replication yields shorter
- request times, and synchronous replication guarantees the session to be replicated before the request returns.
-</p>
-</section>
-
-<section name="Bind session after crash to failover node">
-<p>
- If you are using mod_jk and not using sticky sessions or for some reasons sticky session don't
- work, or you are simply failing over, the session id will need to be modified as it previously contained
- the worker id of the previous tomcat (as defined by jvmRoute in the Engine element).
- To solve this, we will use the JvmRouteBinderValve.
-</p>
-<p>
- The JvmRouteBinderValve rewrites the session id to ensure that the next request will remain sticky
- (and not fall back to go to random nodes since the worker is no longer available) after a fail over.
- The valve rewrites the JSESSIONID value in the cookie with the same name.
- Not having this valve in place, will make it harder to ensure stickyness in case of a failure for the mod_jk module.
-</p>
-<p>
- By default, if no valves are configured, the JvmRouteBinderValve is added on.
- The cluster message listener called JvmRouteSessionIDBinderListener is also defined by default and is used to actually rewrite the
- session id on the other nodes in the cluster once a fail over has occurred.
- Remember, if you are adding your own valves or cluster listeners in server.xml then the defaults are no longer valid,
- make sure that you add in all the appropriate valves and listeners as defined by the default.
-</p>
-<p>
- <b>Hint:</b><br/>
- With attribute <i>sessionIdAttribute</i> you can change the request attribute name that included the old session id.
- Default attribuite name is <i>org.apache.catalina.cluster.session.JvmRouteOrignalSessionID</i>.
-</p>
-<p>
- <b>Trick:</b><br/>
- You can enable this mod_jk turnover mode via JMX before you drop a node to all backup nodes!
- Set enable true on all JvmRouteBinderValve backups, disable worker at mod_jk
- and then drop node and restart it! Then enable mod_jk Worker and disable JvmRouteBinderValves again.
- This use case means that only requested session are migrated.
-</p>
-
-
-
-</section>
-
-<section name="Configuration Example">
- <source>
- <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"
- channelSendOptions="6">
-
- <Manager className="org.apache.catalina.ha.session.BackupManager"
- expireSessionsOnShutdown="false"
- notifyListenersOnReplication="true"
- mapSendOptions="6"/>
- <!--
- <Manager className="org.apache.catalina.ha.session.DeltaManager"
- expireSessionsOnShutdown="false"
- notifyListenersOnReplication="true"/>
- -->
- <Channel className="org.apache.catalina.tribes.group.GroupChannel">
- <Membership className="org.apache.catalina.tribes.membership.McastService"
- address="228.0.0.4"
- port="45564"
- frequency="500"
- dropTime="3000"/>
- <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
- address="auto"
- port="5000"
- selectorTimeout="100"
- maxThreads="6"/>
-
- <Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
- <Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
- </Sender>
- <Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
- <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>
- <Interceptor className="org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor"/>
- </Channel>
-
- <Valve className="org.apache.catalina.ha.tcp.ReplicationValve"
- filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/>
-
- <Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"
- tempDir="/tmp/war-temp/"
- deployDir="/tmp/war-deploy/"
- watchDir="/tmp/war-listen/"
- watchEnabled="false"/>
-
- <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
- </Cluster>
- </source>
- <p>
- Break it down!!
- </p>
- <source>
- <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"
- channelSendOptions="6">
- </source>
- <p>
- The main element, inside this element all cluster details can be configured.
- The <code>channelSendOptions</code> is the flag that is attached to each message sent by the
- SimpleTcpCluster class or any objects that are invoking the SimpleTcpCluster.send method.
- The description of the send flags is available at <a href="http://tomcat.apache.org/tomcat-6.0-doc/api/org/apache/catalina/tribes/Ch...">
- our javadoc site</a>
- The <code>DeltaManager</code> sends information using the SimpleTcpCluster.send method, while the backup manager
- sends it itself directly through the channel.
- <br/>For more info, Please visit the <a href="config/cluster.html">reference documentation</a>
- </p>
- <source>
- <Manager className="org.apache.catalina.ha.session.BackupManager"
- expireSessionsOnShutdown="false"
- notifyListenersOnReplication="true"
- mapSendOptions="6"/>
- <!--
- <Manager className="org.apache.catalina.ha.session.DeltaManager"
- expireSessionsOnShutdown="false"
- notifyListenersOnReplication="true"/>
- -->
- </source>
- <p>
- This is a template for the manager configuration that will be used if no manager is defined in the <Context>
- element. In Tomcat 5.x each webapp marked distributable had to use the same manager, this is no longer the case
- since Tomcat 6 you can define a manager class for each webapp, so that you can mix managers in your cluster.
- Obviously the managers on one node's application has to correspond with the same manager on the same application on the other node.
- If no manager has been specified for the webapp, and the webapp is marked <distributable/> Tomcat will take this manager configuration
- and create a manager instance cloning this configuration.
- <br/>For more info, Please visit the <a href="config/cluster-manager.html">reference documentation</a>
- </p>
- <source>
- <Channel className="org.apache.catalina.tribes.group.GroupChannel">
- </source>
- <p>
- The channel element is <a href="tribes/introduction.html">Tribes</a>, the group communication framework
- used inside Tomcat. This element encapsulates everything that has to do with communication and membership logic.
- <br/>For more info, Please visit the <a href="config/cluster-channel.html">reference documentation</a>
- </p>
- <source>
- <Membership className="org.apache.catalina.tribes.membership.McastService"
- address="228.0.0.4"
- port="45564"
- frequency="500"
- dropTime="3000"/>
- </source>
- <p>
- Membership is done using multicasting. Please note that Tribes also supports static memberships using the
- <code>StaticMembershipInterceptor</code> if you want to extend your membership to points beyond multicasting.
- The address attribute is the multicast address used and the port is the multicast port. These two together
- create the cluster separation. If you want a QA cluster and a production cluster, the easiest config is to
- have the QA cluster be on a separate multicast address/port combination the the production cluster.<br/>
- The membership component broadcasts TCP adress/port of itselt to the other nodes so that communication between
- nodes can be done over TCP. Please note that the address being broadcasted is the one of the
- <code>Receiver.address</code> attribute.
- <br/>For more info, Please visit the <a href="config/cluster-membership.html">reference documentation</a>
- </p>
- <source>
- <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
- address="auto"
- port="5000"
- selectorTimeout="100"
- maxThreads="6"/>
- </source>
- <p>
- In tribes the logic of sending and receiving data has been broken into two functional components. The Receiver, as the name suggests
- is responsible for receiving messages. Since the Tribes stack is thread less, (a popular improvement now adopted by other frameworks as well),
- there is a thread pool in this component that has a maxThreads and minThreads setting.<br/>
- The address attribute is the host address that will be broadcasted by the membership component to the other nodes.
- <br/>For more info, Please visit the <a href="config/cluster-receiver.html">reference documentation</a>
- </p>
- <source>
-
- <Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
- <Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
- </Sender>
- </source>
- <p>
- The sender component, as the name indicates is responsible for sending messages to other nodes.
- The sender has a shell component, the <code>ReplicationTransmitter</code> but the real stuff done is done in the
- sub component, <code>Transport</code>.
- Tribes support having a pool of senders, so that messages can be sent in parallel and if using the NIO sender,
- you can send messages concurrently as well.<br/>
- Concurrently means one message to multiple senders at the same time and Parallel means multiple messages to multiple senders
- at the same time.
- <br/>For more info, Please visit the <a href="config/cluster-sender.html">reference documentation</a>
- </p>
- <source>
- <Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
- <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>
- <Interceptor className="org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor"/>
- </Channel>
- </source>
- <p>
- Tribes uses a stack to send messages through. Each element in the stack is called an interceptor, and works much like the valves do
- in the Tomcat servlet container.
- Using interceptors, logic can be broken into more managable pieces of code. The interceptors configured above are:<br/>
- TcpFailureDetector - verifies crashed members through TCP, if multicast packets get dropped, this interceptor protects against false positives,
- ie the node marked as crashed even though it still is alive and running.<br/>
- MessageDispatch15Interceptor - dispatches messages to a thread (thread pool) to send message asynchrously.<br/>
- ThroughputInterceptor - prints out simple stats on message traffic.<br/>
- Please note that the order of interceptors is important. the way they are defined in server.xml is the way they are represented in the
- channel stack. Think of it as a linked list, with the head being the first most interceptor and the tail the last.
- <br/>For more info, Please visit the <a href="config/cluster-interceptor.html">reference documentation</a>
- </p>
- <source>
- <Valve className="org.apache.catalina.ha.tcp.ReplicationValve"
- filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/>
- </source>
- <p>
- The cluster uses valves to track requests to web applications, we've mentioned the ReplicationValve and the JvmRouteBinderValve above.
- The <Cluster> element itself is not part of the pipeline in Tomcat, instead the cluster adds the valve to its parent container.
- If the <Cluster> elements is configured in the <Engine> element, the valves get added to the engine and so on.
- <br/>For more info, Please visit the <a href="config/cluster-valve.html">reference documentation</a>
- </p>
- <source>
- <Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"
- tempDir="/tmp/war-temp/"
- deployDir="/tmp/war-deploy/"
- watchDir="/tmp/war-listen/"
- watchEnabled="false"/>
- </source>
- <p>
- The default tomcat cluster supports farmed deployment, ie, the cluster can deploy and undeploy applications on the other nodes.
- The state of this component is currently in flux but will be addressed soon. There was a change in the deployment algorithm
- between Tomcat 5.0 and 5.5 and at that point, the logic of this component changed to where the deploy dir has to match the
- webapps directory.
- <br/>For more info, Please visit the <a href="config/cluster-deployer.html">reference documentation</a>
- </p>
- <source>
- <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
- </Cluster>
- </source>
- <p>
- Since the SimpleTcpCluster itself is a sender and receiver of the Channel object, components can register themselves as listeners to
- the SimpleTcpCluster. The listener above <code>ClusterSessionListener</code> listens for DeltaManager replication messages
- and applies the deltas to the manager that in turn applies it to the session.
- <br/>For more info, Please visit the <a href="config/cluster-listener.html">reference documentation</a>
- </p>
-
-</section>
-
-<section name="Cluster Architecture">
-
-<p><b>Component Levels:</b>
-<source>
- Server
- |
- Service
- |
- Engine
- | \
- | --- Cluster --*
- |
- Host
- |
- ------
- / \
- Cluster Context(1-N)
- | \
- | -- Manager
- | \
- | -- DeltaManager
- | -- BackupManager
- |
- ---------------------------
- | \
- Channel \
- ----------------------------- \
- | \
- Interceptor_1 .. \
- | \
- Interceptor_N \
- ----------------------------- \
- | | | \
- Receiver Sender Membership \
- -- Valve
- | \
- | -- ReplicationValve
- | -- JvmRouteBinderValve
- |
- -- LifecycleListener
- |
- -- ClusterListener
- | \
- | -- ClusterSessionListener
- | -- JvmRouteSessionIDBinderListener
- |
- -- Deployer
- \
- -- FarmWarDeployer
-
-
-</source>
-</p>
-
-</section>
-<section name="How it Works">
-<p>To make it easy to understand how clustering works, We are gonna take you through a series of scenarios.
- In the scenario we only plan to use two tomcat instances <code>TomcatA</code> and <code>TomcatB</code>.
- We will cover the following sequence of events:</p>
-
-<ol>
-<li><code>TomcatA</code> starts up</li>
-<li><code>TomcatB</code> starts up (Wait that TomcatA start is complete)</li>
-<li><code>TomcatA</code> receives a request, a session <code>S1</code> is created.</li>
-<li><code>TomcatA</code> crashes</li>
-<li><code>TomcatB</code> receives a request for session <code>S1</code></li>
-<li><code>TomcatA</code> starts up</li>
-<li><code>TomcatA</code> receives a request, invalidate is called on the session (<code>S1</code>)</li>
-<li><code>TomcatB</code> receives a request, for a new session (<code>S2</code>)</li>
-<li><code>TomcatA</code> The session <code>S2</code> expires due to inactivity.</li>
-</ol>
-
-<p>Ok, now that we have a good sequence, we will take you through exactly what happens in the session repliction code</p>
-
-<ol>
-<li><b><code>TomcatA</code> starts up</b>
- <p>
- Tomcat starts up using the standard start up sequence. When the Host object is created, a cluster object is associated with it.
- When the contexts are parsed, if the distributable element is in place in web.xml
- Tomcat asks the Cluster class (in this case <code>SimpleTcpCluster</code>) to create a manager
- for the replicated context. So with clustering enabled, distributable set in web.xml
- Tomcat will create a <code>DeltaManager</code> for that context instead of a <code>StandardManager</code>.
- The cluster class will start up a membership service (multicast) and a replication service (tcp unicast).
- More on the architecture further down in this document.
- </p><p></p>
-</li>
-<li><b><code>TomcatB</code> starts up</b>
- <p>
- When TomcatB starts up, it follows the same sequence as TomcatA did with one exception.
- The cluster is started and will establish a membership (TomcatA,TomcatB).
- TomcatB will now request the session state from a server that already exists in the cluster,
- in this case TomcatA. TomcatA responds to the request, and before TomcatB starts listening
- for HTTP requests, the state has been transferred from TomcatA to TomcatB.
- In case TomcatA doesn't respond, TomcatB will time out after 60 seconds, and issue a log
- entry. The session state gets transferred for each web application that has distributable in
- its web.xml. Note: To use session replication efficiently, all your tomcat instances should be
- configured the same.
- </p><p></p>
-</li>
-<li><B><code>TomcatA</code> receives a request, a session <code>S1</code> is created.</B>
- <p>
- The request coming in to TomcatA is treated exactly the same way as without session replication.
- The action happens when the request is completed, the <code>ReplicationValve</code> will intercept
- the request before the response is returned to the user.
- At this point it finds that the session has been modified, and it uses TCP to replicata the
- session to TomcatB. Once the serialized data has been handed off to the operating systems TCP logic,
- the request returns to the user, back through the valve pipeline.
- For each request the entire session is replicated, this allows code that modifies attributes
- in the session without calling setAttribute or removeAttribute to be replicated.
- a useDirtyFlag configuration parameter can be used to optimize the number of times
- a session is replicated.
- </p><p></p>
-
-</li>
-<li><b><code>TomcatA</code> crashes</b>
- <p>
- When TomcatA crashes, TomcatB receives a notification that TomcatA has dropped out
- of the cluster. TomcatB removes TomcatA from its membership list, and TomcatA will no longer
- be notified of any changes that occurs in TomcatB.
- The load balancer will redirect the requests from TomcatA to TomcatB and all the sessions
- are current.
- </p><p></p>
-</li>
-<li><b><code>TomcatB</code> receives a request for session <code>S1</code></b>
- <p>Nothing exciting, TomcatB will process the request as any other request.
- </p><p></p>
-</li>
-<li><b><code>TomcatA</code> starts up</b>
- <p>Upon start up, before TomcatA starts taking new request and making itself
- available to it will follow the start up sequence described above 1) 2).
- It will join the cluster, contact TomcatB for the current state of all the sessions.
- And once it receives the session state, it finishes loading and opens its HTTP/mod_jk ports.
- So no requests will make it to TomcatA until it has received the session state from TomcatB.
- </p><p></p>
-</li>
-<li><b><code>TomcatA</code> receives a request, invalidate is called on the session (<code>S1</code>)</b>
- <p>The invalidate is call is intercepted, and the session is queued with invalidated sessions.
- When the request is complete, instead of sending out the session that has changed, it sends out
- an "expire" message to TomcatB and TomcatB will invalidate the session as well.
- </p><p></p>
-
-</li>
-<li><b><code>TomcatB</code> receives a request, for a new session (<code>S2</code>)</b>
- <p>Same scenario as in step 3)
- </p><p></p>
-
-
-</li>
-<li><code>TomcatA</code> The session <code>S2</code> expires due to inactivity.
- <p>The invalidate is call is intercepted the same was as when a session is invalidated by the user,
- and the session is queued with invalidated sessions.
- At this point, the invalidet session will not be replicated across until
- another request comes through the system and checks the invalid queue.
- </p><p></p>
-</li>
-</ol>
-
-<p>Phuuuhh! :)</p>
-
-<p><b>Membership</b>
- Clustering membership is established using very simple multicast pings.
- Each Tomcat instance will periodically send out a multicast ping,
- in the ping message the instance will broad cast its IP and TCP listen port
- for replication.
- If an instance has not received such a ping within a given timeframe, the
- member is considered dead. Very simple, and very effective!
- Of course, you need to enable multicasting on your system.
-</p>
-
-<p><b>TCP Replication</b>
- Once a multicast ping has been received, the member is added to the cluster
- Upon the next replication request, the sending instance will use the host and
- port info and establish a TCP socket. Using this socket it sends over the serialized data.
- The reason I choose TCP sockets is because it has built in flow control and guaranteed delivery.
- So I know, when I send some data, it will make it there :)
-</p>
-
-<p><b>Distributed locking and pages using frames</b>
- Tomcat does not keep session instances in sync across the cluster.
- The implementation of such logic would be to much overhead and cause all
- kinds of problems. If your client accesses the same session
- simultanously using multiple requests, then the last request
- will override the other sessions in the cluster.
-</p>
-
-</section>
-
-
-
-
-
-
-<section name="Monitoring your Cluster with JMX">
-<p>Monitoring is a very important question when you use a cluster. Some of the cluster objects are JMX MBeans </p>
-<p>Add the following parameter to your startup script with Java 5:
-<source>
-set CATALINA_OPTS=\
--Dcom.sun.management.jmxremote \
--Dcom.sun.management.jmxremote.port=%my.jmx.port% \
--Dcom.sun.management.jmxremote.ssl=false \
--Dcom.sun.management.jmxremote.authenticate=false
-</source>
-</p>
-<p>Activate JMX with JDK 1.4:
-<ol>
-<li>Install the compat package</li>
-<li>Install the mx4j-tools.jar at common/lib (use the same mx4j version as your tomcat release)</li>
-<li>Configure a MX4J JMX HTTP Adaptor at your AJP Connector<p></p>
-<source>
-<Connector port="${AJP.PORT}"
- handler.list="mx"
- mx.enabled="true"
- mx.httpHost="${JMX.HOST}"
- mx.httpPort="${JMX.PORT}"
- protocol="AJP/1.3" />
-</source>
-</li>
-<li>Start your tomcat and look with your browser to http://${JMX.HOST}:${JMX.PORT}</li>
-<li>With the connector parameter <code>mx.authMode="basic" mx.authUser="tomcat" mx.authPassword="strange"</code> you can control the access!</li>
-</ol>
-</p>
-<p>
-List of Cluster Mbeans<br/>
-<table border="1" cellpadding="5">
-
- <tr>
- <th align="center" bgcolor="aqua">Name</th>
- <th align="center" bgcolor="aqua">Description</th>
- <th align="center" bgcolor="aqua">MBean ObjectName - Engine</th>
- <th align="center" bgcolor="aqua">MBean ObjectName - Host</th>
- </tr>
-
- <tr>
- <td>Cluster</td>
- <td>The complete cluster element</td>
- <td><code>type=Cluster</code></td>
- <td><code>type=Cluster,host=${HOST}</code></td>
- </tr>
-
- <tr>
- <td>DeltaManager</td>
- <td>This manager control the sessions and handle session replication </td>
- <td><code>type=Manager,path=${APP.CONTEXT.PATH}, host=${HOST}</code></td>
- <td><code>type=Manager,path=${APP.CONTEXT.PATH}, host=${HOST}</code></td>
- </tr>
-
- <tr>
- <td>ReplicationValve</td>
- <td>This valve control the replication to the backup nodes</td>
- <td><code>type=Valve,name=ReplicationValve</code></td>
- <td><code>type=Valve,name=ReplicationValve,host=${HOST}</code></td>
- </tr>
-
- <tr>
- <td>JvmRouteBinderValve</td>
- <td>This is a cluster fallback valve to change the Session ID to the current tomcat jvmroute.</td>
- <td><code>type=Valve,name=JvmRouteBinderValve,
- path=${APP.CONTEXT.PATH}</code></td>
- <td><code>type=Valve,name=JvmRouteBinderValve,host=${HOST},
- path=${APP.CONTEXT.PATH}</code></td>
- </tr>
-
-</table>
-</p>
-</section>
-
-<section name="FAQ">
-<p>Please see <a href="http://tomcat.apache.org/faq/cluster.html">the clustering section of the FAQ</a>.</p>
-</section>
-
-</body>
-
-</document>
Modified: trunk/webapps/docs/connectors.xml
===================================================================
--- trunk/webapps/docs/connectors.xml 2007-09-04 17:46:10 UTC (rev 262)
+++ trunk/webapps/docs/connectors.xml 2007-09-04 23:06:49 UTC (rev 263)
@@ -15,19 +15,19 @@
<section name="Introduction">
-<p>Choosing a connector to use with Tomcat can be difficult. This page will
-list the connectors which are supported with this Tomcat release, and will
+<p>Choosing a connector to use with JBoss Web can be difficult. This page will
+list the connectors which are supported with this JBoss Web release, and will
hopefully help you make the right choice according to your needs.</p>
</section>
<section name="HTTP">
-<p>The HTTP connector is setup by default with Tomcat, and is ready to use. This
+<p>The HTTP connector is setup by default with JBoss Web, and is ready to use. This
connector features the lowest latency and best overall performance.</p>
<p>For clustering, a HTTP load balancer <b>with support for web sessions stickiness</b>
-must be installed to direct the traffic to the Tomcat servers. Tomcat supports mod_proxy
+must be installed to direct the traffic to the JBoss Web servers. JBoss Web supports mod_proxy
(on Apache HTTP Server 2.x, and included by default in Apache HTTP Server 2.2) as the load balancer.
It should be noted that the performance of HTTP proxying is usually lower than the
performance of AJP, so AJP clustering is often preferable.</p>
@@ -37,14 +37,14 @@
<section name="AJP">
<p>When using a single server, the performance when using a native webserver in
-front of the Tomcat instance is most of the time significantly worse than a
-standalone Tomcat with its default HTTP connector, even if a large part of the web
+front of the JBoss Web instance is most of the time significantly worse than a
+standalone JBoss Web with its default HTTP connector, even if a large part of the web
application is made of static files. If integration with the native webserver is
needed for any reason, an AJP connector will provide faster performance than
-proxied HTTP. AJP clustering is the most efficient from the Tomcat perspective.
+proxied HTTP. AJP clustering is the most efficient from the JBoss Web perspective.
It is otherwise functionally equivalent to HTTP clustering.</p>
-<p>The native connectors supported with this Tomcat release are:
+<p>The native connectors supported with this JBoss Web release are:
<ul>
<li>JK 1.2.x with any of the supported servers</li>
<li>mod_proxy on Apache HTTP Server 2.x (included by default in Apache HTTP Server 2.2),
Modified: trunk/webapps/docs/default-servlet.xml
===================================================================
--- trunk/webapps/docs/default-servlet.xml 2007-09-04 17:46:10 UTC (rev 262)
+++ trunk/webapps/docs/default-servlet.xml 2007-09-04 23:06:49 UTC (rev 263)
@@ -76,7 +76,7 @@
<tr>
<th valign='top'>debug</th>
<td valign='top'>
- Debugging level. It is not very useful unless you are a tomcat
+ Debugging level. It is not very useful unless you are a JBoss Web
developer. As
of this writing, useful values are 0, 1, 11, 1000.
</td>
@@ -206,7 +206,7 @@
<li>Readme is a CDATA entry</li>
</ul>
</p>
-The following is a sample xsl file which mimics the default tomcat behavior:
+The following is a sample xsl file which mimics the default JBoss Web behavior:
<source>
<?xml version="1.0"?>
@@ -249,7 +249,7 @@
</table>
<xsl:apply-templates select="readme"/>
<hr size="1" />
- <h3>Apache Tomcat/6.0</h3>
+ <h3>JBoss Web/2.1</h3>
</body>
</html>
</xsl:template>
Modified: trunk/webapps/docs/deployer-howto.xml
===================================================================
--- trunk/webapps/docs/deployer-howto.xml 2007-09-04 17:46:10 UTC (rev 262)
+++ trunk/webapps/docs/deployer-howto.xml 2007-09-04 23:06:49 UTC (rev 263)
@@ -8,7 +8,7 @@
<properties>
<author>Allistair Crossley</author>
- <title>Tomcat Web Application Deployment</title>
+ <title>JBoss Web Web Application Deployment</title>
</properties>
<body>
@@ -18,11 +18,11 @@
<li><a href="#Introduction">Introduction</a></li>
<li><a href="#Installation">Installation</a></li>
<li><a href="#A word on Contexts">A word on Contexts</a></li>
- <li><a href="#Deployment on Tomcat startup">Deployment on Tomcat startup</a></li>
- <li><a href="#Deploying on a running Tomcat server">Deploying on a running Tomcat server</a></li>
- <li><a href="#Deploying using the Tomcat Manager">Deploying using the Tomcat Manager</a></li>
+ <li><a href="#Deployment on JBoss Web startup">Deployment on JBoss Web startup</a></li>
+ <li><a href="#Deploying on a running JBoss Web server">Deploying on a running JBoss Web server</a></li>
+ <li><a href="#Deploying using the JBoss Web Manager">Deploying using the JBoss Web Manager</a></li>
<li><a href="#Deploying using the Client Deployer Package">Deploying using
- the Tomcat Client Deployer</a></li>
+ the JBoss Web Client Deployer</a></li>
</ul>
</section>
@@ -31,23 +31,23 @@
<p>
Deployment is the term used for the process of installing a web
application (either a 3rd party WAR or your own custom web application)
- into the Tomcat server.
+ into the JBoss Web server.
</p>
<p>
Web application deployment may be accomplished in a number of ways
- within the Tomcat server.
+ within the JBoss Web server.
<ul>
- <li>Statically; the web application is setup before Tomcat is started</li>
+ <li>Statically; the web application is setup before JBoss Web is started</li>
<li>
- Dynamically; in conjunction with the Tomcat Manager web application or
+ Dynamically; in conjunction with the JBoss Web Manager web application or
manipulating already deployed web applications
</li>
</ul>
</p>
<p>
- The Tomcat Manager is a tool that allows URL-based web application
+ The JBoss Web Manager is a tool that allows URL-based web application
deployment features. There is also a tool called the Client Deployer,
- which is a command shell based script that interacts with the Tomcat
+ which is a command shell based script that interacts with the JBoss Web
Manager but provides additional functionality such as compiling and
validating web applications as well as packaging web application into
web application resource (WAR) files.
@@ -57,17 +57,17 @@
<section name="Installation">
<p>
There is no installation required for static deployment of web
- applications as this is provided out of the box by Tomcat. Nor is any
- installation required for deployment functions with the Tomcat Manager,
+ applications as this is provided out of the box by JBoss Web. Nor is any
+ installation required for deployment functions with the JBoss Web Manager,
although some configuration is required as detailed in the
- Tomcat Manager manual. An installation is however required if you wish
- to use the Tomcat Client Deployer (TCD).
+ JBoss Web Manager manual. An installation is however required if you wish
+ to use the JBoss Web Client Deployer (TCD).
</p>
<p>
- The TCD is not packaged with the Tomcat core
+ The TCD is not packaged with the JBoss Web core
distribution, and must therefore be downloaded separately from
the Downloads area. The download is usually labelled
- <i>apache-tomcat-6.0.x-deployer</i>.
+ <i>jbossweb-2.1.x-deployer</i>.
</p>
<p>
TCD has prerequisites of Apache Ant 1.6.2+ and a Java installation.
@@ -80,32 +80,32 @@
<ol>
<li>Download the TCD distribution</li>
<li>
- The TCD package need not be extracted into any existing Tomcat
+ The TCD package need not be extracted into any existing JBoss Web
installation, it can be extracted to any location.
</li>
<li>Read Using the <a href="#Deploying using the Client Deployer Package">
- Tomcat Client Deployer</a></li>
+ JBoss Web Client Deployer</a></li>
</ol>
</section>
<section name="A word on Contexts">
<p>
In talking about deployment of web applications, the concept of a
- <i>Context</i> is required to be understood. A Context is what Tomcat
+ <i>Context</i> is required to be understood. A Context is what JBoss Web
calls a web application.
</p>
<p>
- In order to configure a Context within Tomcat a <i>Context Descriptor</i>
+ In order to configure a Context within JBoss Web a <i>Context Descriptor</i>
is required. A Context Descriptor is simply an XML file that contains
- Tomcat related configuration for a Context, e.g naming resources or
+ JBoss Web related configuration for a Context, e.g naming resources or
session manager configuration. In earlier versions of
- Tomcat the content of a Context Descriptor configuration was often stored within
- Tomcat's primary configuration file <i>server.xml</i> but this is now
+ JBoss Web the content of a Context Descriptor configuration was often stored within
+ JBoss Web's primary configuration file <i>server.xml</i> but this is now
discouraged (although it currently still works).
</p>
<p>
- Context Descriptors not only help Tomcat to know how to configure
- Contexts but other tools such as the Tomcat Manager and TDC often use
+ Context Descriptors not only help JBoss Web to know how to configure
+ Contexts but other tools such as the JBoss Web Manager and TDC often use
these Context Descriptors to perform their roles properly.
</p>
<p>
@@ -116,15 +116,15 @@
</ol>
Files in (1) are named [webappname].xml but files in (2) are named
context.xml. If a Context Descriptor is not provided for a Context,
- Tomcat configures the Context using default values.
+ JBoss Web configures the Context using default values.
</p>
</section>
- <section name="Deployment on Tomcat startup">
+ <section name="Deployment on JBoss Web startup">
<p>
- If you are not interested in using the Tomcat Manager, or TCD,
+ If you are not interested in using the JBoss Web Manager, or TCD,
then you'll need to deploy your web applications
- statically to Tomcat, followed by a Tomcat startup. The location you
+ statically to JBoss Web, followed by a JBoss Web startup. The location you
deploy web applications to for this type of deployment is called the
<code>appBase</code> which is specified per Host. You either copy a
so-called <i>exploded web application</i>, i.e non-compressed, to this
@@ -133,11 +133,11 @@
<p>
The web applications present in the location specified by the Host's
(default Host is "localhost") <code>appBase</code> attribute (default
- appBase is "$CATALINA_HOME/webapps") will be deployed on Tomcat startup
+ appBase is "$CATALINA_HOME/webapps") will be deployed on JBoss Web startup
only if the Host's <code>deployOnStartup</code> attribute is "true".
</p>
<p>
- The following deployment sequence will occur on Tomcat startup in that
+ The following deployment sequence will occur on JBoss Web startup in that
case:
</p>
<ol>
@@ -157,9 +157,9 @@
</p>
</section>
- <section name="Deploying on a running Tomcat server">
+ <section name="Deploying on a running JBoss Web server">
<p>
- It is possible to deploy web applications to a running Tomcat server.
+ It is possible to deploy web applications to a running JBoss Web server.
</p>
<p>
If the Host <code>autoDeploy</code> attribute is "true", the Host will
@@ -170,7 +170,7 @@
</p>
<p>
- <code>autoDeploy</code> set to "true" and a running Tomcat allows for:
+ <code>autoDeploy</code> set to "true" and a running JBoss Web allows for:
</p>
<ul>
<li>Deployment of .WAR files copied into the Host <code>appBase</code>.</li>
@@ -215,19 +215,19 @@
</p>
</section>
- <section name="Deploying using the Tomcat Manager">
+ <section name="Deploying using the JBoss Web Manager">
<p>
- The Tomcat Manager is covered in its <a href="manager-howto.html">own manual page</a>.
+ The JBoss Web Manager is covered in its <a href="manager-howto.html">own manual page</a>.
</p>
</section>
<section name="Deploying using the Client Deployer Package">
<p>
Finally, deployment of web application may be achieved using the
- Tomcat Client Deployer. This is a package which can be used to
+ JBoss Web Client Deployer. This is a package which can be used to
validate, compile, compress to .WAR, and deploy web applications to
- production or development Tomcat servers. It should be noted that this feature
- uses the Tomcat Manager and as such the target Tomcat server should be
+ production or development JBoss Web servers. It should be noted that this feature
+ uses the JBoss Web Manager and as such the target JBoss Web server should be
running.
</p>
@@ -262,15 +262,15 @@
<li>
<code>compile</code> (default): Compile and validate the web
application. This can be used standalone, and does not need a running
- Tomcat server. The compiled application will only run on the associated
- Tomcat 5.5.x server release, and is not guaranteed to work on another
- Tomcat release, as the code generated by Jasper depends on its runtime
+ JBoss Web server. The compiled application will only run on the associated
+ JBoss Web server release, and is not guaranteed to work on another
+ JBoss Web release, as the code generated by Jasper depends on its runtime
component. It should also be noted that this target will also compile
automatically any Java source file located in the
<code>/WEB-INF/classes</code> folder of the web application.</li>
<li>
<code>deploy</code>: Deploy a web application (compiled or not) to
- a Tomcat server.
+ a JBoss Web server.
</li>
<li><code>undeploy</code>: Undeploy a web application</li>
<li><code>start</code>: Start web application</li>
@@ -287,9 +287,9 @@
<p>
Additionally, you will need to ensure that a user has been
- setup for the target Tomcat Manager (which TCD uses) otherwise the TCD
- will not authenticate with the Tomcat Manager and the deployment will
- fail. To do this, see the Tomcat Manager page.
+ setup for the target JBoss Web Manager (which TCD uses) otherwise the TCD
+ will not authenticate with the JBoss Web Manager and the deployment will
+ fail. To do this, see the JBoss Web Manager page.
</p>
<ul>
@@ -309,17 +309,17 @@
by default <code>/myapp</code>.
</li>
<li>
- <code>url</code>: Absolute URL to the Tomcat Manager web application of a
- running Tomcat server, which will be used to deploy and undeploy the
+ <code>url</code>: Absolute URL to the JBoss Web Manager web application of a
+ running JBoss Web server, which will be used to deploy and undeploy the
web application. By default, the deployer will attempt to access
- a Tomcat instance running on localhost, at
+ a JBoss Web instance running on localhost, at
<code>http://localhost:8080/manager</code>.
</li>
<li>
- <code>username</code>: Tomcat Manager username (user should have a role of
+ <code>username</code>: JBoss Web Manager username (user should have a role of
manager)
</li>
- <li><code>password</code>: Tomcat Manager password.</li>
+ <li><code>password</code>: JBoss Web Manager password.</li>
</ul>
</section>
Deleted: trunk/webapps/docs/developers.xml
===================================================================
--- trunk/webapps/docs/developers.xml 2007-09-04 17:46:10 UTC (rev 262)
+++ trunk/webapps/docs/developers.xml 2007-09-04 23:06:49 UTC (rev 263)
@@ -1,59 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE document [
- <!ENTITY project SYSTEM "project.xml">
-]>
-<document url="developers.html">
-
- &project;
-
- <properties>
- <author email="remm(a)apache.org">Remy Maucherat</author>
- <author email="yoavs(a)apache.org">Yoav Shapira</author>
- <title>Tomcat Developers</title>
- </properties>
-
-<body>
-
- <section name="Active Developers">
-
- <p>
- The list indicates the developers' main areas of interest. Feel free to
- add to the list :) The developers email addresses are
- <code>[login](a)apache.org</code>. Please <strong>do not</strong> contact
- developers directly for any support issues (please post to the
- tomcat-users mailing list instead, or one of the other support
- resources; some organizations and individual consultants also offer
- for pay Tomcat support, as listed on the
- <a href="http://jakarta.apache.org/site/vendors.html">vendors page</a>
- on the Jakarta website).
- </p>
-
- <ul>
- <li>Amy Roh (amyroh): Catalina, Admin webapp</li>
- <li>Bill Barker (billbarker): Connectors</li>
- <li>Costin Manolache (costin): Catalina, Connectors</li>
- <li>Filip Hanik (fhanik): Clustering</li>
- <li>Glenn Nielsen (glenn): Catalina, Connectors</li>
- <li>Henri Gomez (hgomez): Connectors</li>
- <li>Jan Luehe (luehe): Jasper</li>
- <li>Jean-Francois Arcand (jfarcand): Catalina</li>
- <li>Jean-Frederic Clere (jfclere): Connectors</li>
- <li>Jim Jagielski (jim): Connectors</li>
- <li>Kin-Man Chung (kinman): Jasper</li>
- <li>Mladen Turk (mturk): Connectors</li>
- <li>Peter Rossbach (pero): Catalina, Clustering, JMX</li>
- <li>Remy Maucherat (remm): Catalina, Connectors, Docs</li>
- <li>Tim Funk (funkman): Catalina, Docs</li>
- <li>Yoav Shapira (yoavs): Docs, JMX, Catalina, balancer, Release Manager</li>
- </ul>
-
- </section>
-
- <section name="Retired Developers">
-
-
-
- </section>
-
-</body>
-</document>
Deleted: trunk/webapps/docs/extras.xml
===================================================================
--- trunk/webapps/docs/extras.xml 2007-09-04 17:46:10 UTC (rev 262)
+++ trunk/webapps/docs/extras.xml 2007-09-04 23:06:49 UTC (rev 263)
@@ -1,71 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE document [
- <!ENTITY project SYSTEM "project.xml">
-]>
-<document url="extras.html">
-
- &project;
-
- <properties>
- <title>Additional Components</title>
- <author>Remy Maucherat</author>
- </properties>
-
-<body>
-
- <section name="Introduction">
- <p>
- A number of additional third party components may be used with Apache Tomcat, but are not
- provided directly in the downlad bundle for a variety of reasons. These may be built by
- users should they need it.
- </p>
-
- </section>
-
- <section name="Building">
-
- <p>
- The additional components are built using the <code>extras.xml</code> Ant script which is
- present in the source bundle of Tomcat.
- </p>
-
- <p>The build process is the following:</p>
-
- <ul>
- <li>Follow the <a href="building.html">build instructions</a> to build a Tomcat binary from
- the source bundle (note: it will be used by the build process of the additional components, but
- does not need to be actually used later on)</li>
- <li>Execute the command <code>ant -f extras.xml</code> to run the build script</li>
- <li>The additional components JARs will be placed in the <code>output/extras</code> folder</li>
- <li>Refer to the documentation below about the usage of these JARs</li>
- </ul>
-
- </section>
-
- <section name="Components list">
-
- <subsection name="Full commons-logging implementation">
-
- <p>
- Tomcat uses a package renamed commons-logging API implementation which is hardcoded to use
- the java.util.logging API. The commons-logging additional component builds a full fledged
- package renames commons-logging implementation which can be used to replace the implementation
- provided with Tomcat. See the <a href="logging.html">logging</a> page for usage instructions.
- </p>
-
- </subsection>
-
- <subsection name="Web Services support (JSR 109)">
-
- <p>
- Tomcat provides factories for JSR 109 which may be used to resolve web services references.
- Place the generated catalina-ws.jar as well as jaxrpc.jar and wsdl4j.jar (or another implementation
- of JSR 109) in the Tomcat lib folder.
- </p>
-
- </subsection>
-
- </section>
-
-</body>
-</document>
Modified: trunk/webapps/docs/html-manager-howto.xml
===================================================================
--- trunk/webapps/docs/html-manager-howto.xml 2007-09-04 17:46:10 UTC (rev 262)
+++ trunk/webapps/docs/html-manager-howto.xml 2007-09-04 23:06:49 UTC (rev 263)
@@ -8,7 +8,7 @@
<properties>
<author email="glenn(a)apache.org">Glenn L. Nielsen</author>
- <title>Tomcat Web Application Manager How To</title>
+ <title>JBoss Web Application Manager How To</title>
</properties>
<body>
@@ -17,7 +17,7 @@
<p>In many production environments it is very useful to have the capability
to manage your web applications without having to shut down and restart
-Tomcat. This document is for the HTML web interface to the web application
+JBoss Web. This document is for the HTML web interface to the web application
<a href="manager-howto.html">manager</a>.</p>
<p>The interface is divided into five sections:
@@ -28,7 +28,7 @@
<li><strong>Applications</strong> - List of web applications and
commands.</li>
<li><strong>Deploy</strong> - Deploying web applications.</li>
- <li><strong>Server Information</strong> - Information about the Tomcat
+ <li><strong>Server Information</strong> - Information about the JBoss Web
server.</li>
</ul>
</p>
@@ -117,7 +117,7 @@
<li><em>Encountered exception</em>
<blockquote>
<p>An exception was encountered trying to start the web application.
- Check the Tomcat 5 logs for the details.</p>
+ Check the JBoss Web logs for the details.</p>
</blockquote></li>
<li><em>Invalid context path was specified</em>
<blockquote>
@@ -157,7 +157,7 @@
<li><em>Encountered exception</em>
<blockquote>
<p>An exception was encountered trying to stop the web application.
- Check the Tomcat 5 logs for the details.</p>
+ Check the JBoss Web logs for the details.</p>
</blockquote></li>
<li><em>Invalid context path was specified</em>
<blockquote>
@@ -205,7 +205,7 @@
<li><em>Encountered exception</em>
<blockquote>
<p>An exception was encountered trying to restart the web application.
- Check the Tomcat 5 logs for the details.</p>
+ Check the JBoss Web logs for the details.</p>
</blockquote></li>
<li><em>Invalid context path was specified</em>
<blockquote>
@@ -247,7 +247,7 @@
<code>/stop</code> command instead.</p>
<p>Signal an existing application to gracefully shut itself down, and then
-remove it from Tomcat (which also makes this context path available for
+remove it from JBoss Web (which also makes this context path available for
reuse later). This command is the logical opposite of the
<code>/deploy</code> Ant command, and the related deploy features available
in the HTML manager.</p>
@@ -263,7 +263,7 @@
<li><em>Encountered exception</em>
<blockquote>
<p>An exception was encountered trying to undeploy the web application.
- Check the Tomcat logs for the details.</p>
+ Check the JBoss Web logs for the details.</p>
</blockquote></li>
<li><em>Invalid context path was specified</em>
<blockquote>
@@ -290,7 +290,7 @@
<section name="Deploy">
<p>Web applications can be deployed using files or directories located
-on the Tomcat server or you can upload a web application archive (WAR)
+on the JBoss Web server or you can upload a web application archive (WAR)
file to the server.</p>
<p>To install an application, fill in the appropriate fields for the type
@@ -307,7 +307,7 @@
<h3>Deploy a Directory or WAR by URL</h3>
-<p>Install a web application directory or ".war" file located on the Tomcat
+<p>Install a web application directory or ".war" file located on the JBoss Web
server. If no <i>Context Path</i> is specified, the directory name or the
war file name without the ".war" extension is used as the path. The
<i>WAR or Directory URL</i> specifies a URL (including the <code>file:</code>
@@ -317,7 +317,7 @@
refer to the entire WAR file.</p>
<p>In this example the web application located in the directory
-<code>C:\path\to\foo</code> on the Tomcat server (running on Windows)
+<code>C:\path\to\foo</code> on the JBoss Web server (running on Windows)
is deployed as the web application context named <code>/footoo</code>.
<source>
Context Path: /footoo
@@ -326,7 +326,7 @@
</p>
<p>In this example the ".war" file <code>/path/to/bar.war</code> on the
-Tomcat server (running on Unix) is deployed as the web application
+JBoss Web server (running on Unix) is deployed as the web application
context named <code>/bar</code>. Notice that there is no <code>path</code>
parameter so the context path defaults to the name of the web application
archive file without the ".war" extension.
@@ -342,7 +342,7 @@
or the war file name without the ".war" extension is used as the path.</p>
<p>In this example the web application located in a subdirectory named
-<code>foo</code> in the Host appBase directory of the Tomcat server is
+<code>foo</code> in the Host appBase directory of the JBoss Web server is
deployed as the web application context named <code>/foo</code>. Notice
that there is no <code>path</code> parameter so the context path defaults
to the name of the web application directory.
@@ -352,7 +352,7 @@
</p>
<p>In this example the ".war" file <code>bar.war</code> located in your
-Host appBase directory on the Tomcat server is deployed as the web
+Host appBase directory on the JBoss Web server is deployed as the web
application context named <code>/bartoo</code>.
<source>
Context Path: /bartoo
@@ -370,8 +370,8 @@
<p>A Context configuration ".xml" file can contain valid XML for a
web application Context just as if it were configured in your
-Tomcat <code>server.xml</code> configuration file. Here is an
-example for Tomcat running on Windows:
+JBoss Web <code>server.xml</code> configuration file. Here is an
+example for JBoss Web running on Windows:
<source>
<Context path="/foobar" docBase="C:\path\to\application\foobar"
debug="0">
@@ -389,7 +389,7 @@
docBase configured in the context configuration ".xml" file.</p>
<p>Here is an example of installing an application using a Context
-configuration ".xml" file for Tomcat running on Windows.
+configuration ".xml" file for JBoss Web running on Windows.
<source>
XML Configuration file URL: file:C:/path/to/context.xml
</source>
@@ -397,7 +397,7 @@
<p>Here is an example of installing an application using a Context
configuration ".xml" file and a web application ".war" file located
-on the server (Tomcat running on Unix).
+on the server (JBoss Web running on Unix).
<source>
XML Configuration file URL: file:/path/to/context.xml
WAR or Directory URL: jar:file:/path/to/bar.war!/
@@ -415,7 +415,7 @@
<p>Use the <i>Browse</i> button to select a WAR file to upload to the
server from your local desktop system.</p>
-<p>The .WAR file may include Tomcat specific deployment configuration, by
+<p>The .WAR file may include JBoss Web specific deployment configuration, by
including a Context configuration XML file in
<code>/META-INF/context.xml</code>.</p>
@@ -494,7 +494,7 @@
<li><em>Encountered exception</em>
<blockquote>
<p>An exception was encountered trying to start the new web application.
- Check the Tomcat 5 logs for the details, but likely explanations include
+ Check the JBoss Web logs for the details, but likely explanations include
problems parsing your <code>/WEB-INF/web.xml</code> file, or missing
classes encountered when initializing application event listeners and
filters.</p>
@@ -532,8 +532,8 @@
<section name="Server Information">
-<p>This section displays information about Tomcat, the operating system of
-the server Tomcat is hosted on, and the Java Virtual Machine Tomcat is
+<p>This section displays information about JBoss Web, the operating system of
+the server JBoss Web is hosted on, and the Java Virtual Machine JBoss Web is
running in.</p>
</section>
Modified: trunk/webapps/docs/index.xml
===================================================================
--- trunk/webapps/docs/index.xml 2007-09-04 17:46:10 UTC (rev 262)
+++ trunk/webapps/docs/index.xml 2007-09-04 23:06:49 UTC (rev 263)
@@ -18,9 +18,9 @@
<section name="Introduction">
<p>This is the top-level entry point of the documentation bundle for the
-<strong>Apache Tomcat</strong> Servlet/JSP container. Apache Tomcat version 6.0
-implements the
-Servlet 2.5 and JavaServer Pages 2.1 specifications from the
+<strong>JBoss Web</strong> Servlet/JSP container, which is based on the
+Apache Tomcat 6.0 project developed by the Apache Software Foundation.
+JBoss Web implements the Servlet 2.5 and JavaServer Pages 2.1 specifications from the
<a href="http://www.jcp.org">Java Community Process</a>, and includes many
additional features that make it a useful platform for developing and deploying
web applications and web services.</p>
@@ -32,16 +32,16 @@
</section>
-<section name="Apache Tomcat User Guide">
+<section name="JBoss Web User Guide">
<p>The following documents will assist you in downloading, installing
-Apache Tomcat 6, and using many of the Apache Tomcat features.</p>
+JBoss Web, and using many of its features.</p>
<ol>
<li><a href="introduction.html"><strong>Introduction</strong></a> - A
- brief, high level, overview of Apache Tomcat.</li>
+ brief, high level, overview of JBoss Web.</li>
<li><a href="setup.html"><strong>Setup</strong></a> - How to install and run
- Apache Tomcat on a variety of platforms.</li>
+ JBoss Web on a variety of platforms.</li>
<li><a href="appdev/index.html"><strong>First web application</strong></a>
- An introduction to the concepts of a <em>web application</em> as defined
in the <a href="http://java.sun.com/products/servlet/download.html">Servlet
@@ -50,11 +50,11 @@
introduction to the web application deployment descriptor
(<code>/WEB-INF/web.xml</code>).</li>
<li><a href="deployer-howto.html"><strong>Deployer</strong></a> -
- Operating the Apache Tomcat Deployer to deploy, precompile, and validate web
+ Operating the JBoss Web Deployer to deploy, precompile, and validate web
applications.</li>
<li><a href="manager-howto.html"><strong>Manager</strong></a> -
Operating the <code>Manager</code> web app to deploy, undeploy, and
- redeploy applications while Apache Tomcat is running.</li>
+ redeploy applications while JBoss Web is running.</li>
<li><a href="realm-howto.html"><strong>Realms and Access Control</strong></a>
- Description of how to configure <em>Realms</em> (databases of users,
passwords, and their associated roles) for use in web applications that
@@ -71,45 +71,39 @@
- Configuring a JNDI DataSoure with a DB connection pool.
Examples for many popular databases.</li>
<li><a href="class-loader-howto.html"><strong>Classloading</strong></a>
- - Information about class loading in Apache Tomcat 5, including where to place
+ - Information about class loading in JBoss Web, including where to place
your application classes so that they are visible.</li>
<li><a href="jasper-howto.html"><strong>JSPs</strong></a>
- Information about Jasper configuration, as well as the JSP compiler
usage.</li>
<li><a href="ssl-howto.html"><strong>SSL</strong></a> -
Installing and
- configuring SSL support so that your Apache Tomcat will serve requests using
+ configuring SSL support so that your JBoss Web will serve requests using
the <code>https</code> protocol.</li>
<li><a href="ssi-howto.html"><strong>SSI</strong></a> -
- Using Server Side Includes in Apache Tomcat.</li>
+ Using Server Side Includes in JBoss Web.</li>
<li><a href="cgi-howto.html"><strong>CGI</strong></a> -
- Using CGIs with Apache Tomcat.</li>
+ Using CGIs with JBoss Web.</li>
<li><a href="proxy-howto.html"><strong>Proxy Support</strong></a> -
- Configuring Apache Tomcat 5 to run behind a proxy server (or a web server
+ Configuring JBoss Web to run behind a proxy server (or a web server
functioning as a proxy server).</li>
<li><a href="mbeans-descriptor-howto.html"><strong>MBean Descriptor</strong></a> -
Configuring MBean descriptors files for custom components.</li>
<li><a href="default-servlet.html"><strong>Default Servlet</strong></a> -
Configuring the default servlet and customizing directory listings.</li>
-<li><a href="cluster-howto.html"><strong>Apache Tomcat Clustering</strong></a> -
- Enable session replication in a Apache Tomcat environment.</li>
-<li><a href="balancer-howto.html"><strong>Balancer</strong></a> -
- Configuring, using, and extending the load balancer application.</li>
<li><a href="connectors.html"><strong>Connectors</strong></a> -
- Connectors available in Apache Tomcat, and native web server integration.</li>
+ Connectors available in JBoss Web, and native web server integration.</li>
<li><a href="monitoring.html"><strong>Monitoring and Management</strong></a> -
- Enabling JMX Remote support, and using tools to monitor and manage Apache Tomcat.</li>
+ Enabling JMX Remote support, and using tools to monitor and manage JBoss Web.</li>
<li><a href="logging.html"><strong>Logging</strong></a> -
- Configuring logging in Apache Tomcat.</li>
+ Configuring logging in JBoss Web.</li>
<li><a href="apr.html"><strong>Apache Portable Runtime</strong></a> -
Using APR to provide superior performance, scalability and better
integration with native server technologies.</li>
<li><a href="virtual-hosting-howto.html"><strong>Virtual Hosting</strong></a> -
- Configuring vitual hosting in Apache Tomcat.</li>
+ Configuring vitual hosting in JBoss Web.</li>
<li><a href="aio.html"><strong>Advanced IO</strong></a> -
Extensions available over regular, blocking IO.</li>
-<li><a href="extras.html"><strong>Additional Components</strong></a> -
- Obtaining additional, optional components.</li>
</ol>
@@ -119,19 +113,19 @@
<section name="Reference">
<p>The following documents are aimed at <em>System Administrators</em> who
-are responsible for installing, configuring, and operating a Apache Tomcat 6 server.
+are responsible for installing, configuring, and operating a JBoss Web server.
</p>
<ul>
<li><a href="RELEASE-NOTES.txt"><strong>Release notes</strong></a>
- - Known issues in this Apache Tomcat release.
+ - Known issues in this JBoss Web release.
</li>
-<li><a href="config/index.html"><strong>Apache Tomcat Server Configuration Reference</strong></a>
+<li><a href="config/index.html"><strong>JBoss Web Server Configuration Reference</strong></a>
- Reference manual that documents all available elements and attributes
- that may be placed into a Apache Tomcat 6 <code>conf/server.xml</code> file.
+ that may be placed into a JBoss Web <code>conf/server.xml</code> file.
</li>
<li><a href="http://tomcat.apache.org/connectors-doc/index.html"><strong>JK Documentation</strong></a>
- Complete documentation and HOWTOs on the JK native webserver connector,
- used to interface Apache Tomcat with servers like Apache HTTPd, IIS
+ used to interface JBoss Web with servers like Apache HTTPd, IIS
and others.</li>
<li><a href="servletapi/index.html"><strong>Servlet API Javadocs</strong></a> -
The Servlet 2.4 API Javadocs.</li>
@@ -142,36 +136,30 @@
</section>
-<section name="Apache Tomcat Developers">
+<section name="JBoss Web Developers">
<p>The following documents are for Java developers who wish to contribute to
-the development of the <em>Apache Tomcat</em> project.</p>
+the development of the <em>JBoss Web</em> project.</p>
<ul>
<li><a href="building.html"><strong>Building from Source</strong></a> -
- Details the steps necessary to download Apache Tomcat 6 source code (and the
+ Details the steps necessary to download JBoss Web source code (and the
other packages that it depends on), and build a binary distribution from
those sources.
</li>
<li><a href="changelog.html"><strong>Changelog</strong></a> - Details the
- changes made to Apache Tomcat.
+ changes made to JBoss Web.
</li>
-<li><a href="status.html"><strong>Status</strong></a> - Apache Tomcat development
- status.
- </li>
-<li><a href="developers.html"><strong>Developers</strong></a> - List of active
- Apache Tomcat contributors.
- </li>
<li><a href="catalina/funcspecs/index.html"><strong>Functional Specifications</strong></a>
- Requirements specifications for features of the <em>Catalina</em> servlet
- container portion of Apache Tomcat 6.</li>
+ container portion of JBoss Web.</li>
<li><a href="catalina/docs/api/index.html"><strong>Catalina Javadocs</strong></a>
- Javadoc API documentation for the <em>Catalina</em> servlet
container and its dependencies.</li>
<li><a href="jasper/docs/api/index.html"><strong>Jasper Javadocs</strong></a>
- Javadoc API documentation for the <em>Jasper</em> JSP container
- portion of Apache Tomcat 6.</li>
-<li><a href="architecture/index.html"><strong>Apache Tomcat Architecture</strong></a>
- - Documentation of the Apache Tomcat Server Architecture.</li>
+ portion of JBoss Web.</li>
+<li><a href="architecture/index.html"><strong>JBoss Web Architecture</strong></a>
+ - Documentation of the JBoss Web Server Architecture.</li>
</ul>
Modified: trunk/webapps/docs/introduction.xml
===================================================================
--- trunk/webapps/docs/introduction.xml 2007-09-04 17:46:10 UTC (rev 262)
+++ trunk/webapps/docs/introduction.xml 2007-09-04 23:06:49 UTC (rev 263)
@@ -19,7 +19,7 @@
<p>For administrators and web developers alike, there are some important bits
of information you should familiarize yourself with before starting out. This
document serves as a brief introduction to some of the concepts and
-terminology behind the Tomcat container. As well, where to go when you need
+terminology behind the JBoss Web container. As well, where to go when you need
help.</p>
</section>
@@ -28,7 +28,7 @@
<section name="Terminology">
<p>In the course of reading these documents, you'll run across a number of
-terms; some specific to Tomcat, and others defined by the
+terms; some specific to JBoss Web, and others defined by the
<a href="http://java.sun.com/products/servlet/">Servlet</a> or
<a href="http://java.sun.com/products/jsp/">JSP</a> specifications.</p>
@@ -45,12 +45,12 @@
<section name="Directories and Files">
<p>Throughout the docs, you'll notice there are numerous references to
-<strong>$CATALINA_HOME</strong>. This represents the root of your Tomcat
+<strong>$CATALINA_HOME</strong>. This represents the root of your JBoss Web
installation. When we say, "This information can be found in your
$CATALINA_HOME/README.txt file" we mean to look at the README.txt file at the
-root of your Tomcat install.</p>
+root of your JBoss Web install.</p>
-<p>These are some of the key tomcat directories, all relative
+<p>These are some of the key JBoss Web directories, all relative
to <strong>$CATALINA_HOME</strong>:</p>
<ul>
@@ -69,7 +69,7 @@
</section>
-<section name="Configuring Tomcat">
+<section name="Configuring JBoss Web">
<p>This section will acquaint you with the basic information used during
the configuration of the container.</p>
@@ -87,12 +87,8 @@
written and easy to understand, we may have missed something. Provided
below are various web sites and mailing lists in case you get stuck.</p>
-<p>As Tomcat 6 is a new release of Tomcat, keep in mind that some of the
-issues and solutions vary between the major versions of Tomcat (4.x versus
-5). As you search around the web, there will be some documentation that
-is not relevant to Tomcat 6, but 3.x, 4.x and 5.x. Doing 3.x or 4.x things to 6
-will probably not work in most cases as the server.xml files are very
-different.</p>
+<p>As JBoss Web 2.1 changes things over past Tomcat releases, keep in mind that some of the
+issues and solutions vary between the major versions of Tomcat (4.x, 5.x and 6.x).</p>
<ul>
<li>Current document - most documents will list potential hangups. Be sure
Modified: trunk/webapps/docs/jasper-howto.xml
===================================================================
--- trunk/webapps/docs/jasper-howto.xml 2007-09-04 17:46:10 UTC (rev 262)
+++ trunk/webapps/docs/jasper-howto.xml 2007-09-04 23:06:49 UTC (rev 263)
@@ -26,7 +26,7 @@
<section name="Introduction">
-<p>Tomcat 6.0 uses the Jasper 2 JSP Engine to implement
+<p>JBoss Web uses the Jasper 2 JSP Engine to implement
the <a href="http://java.sun.com/products/jsp/">JavaServer Pages 2.0</a>
specification.</p>
@@ -63,7 +63,7 @@
<p>By default Jasper is configured for use when doing web application
development. See the section <a href="#Production Configuration">
Production Configuration</a> for information on configuring Jasper
-for use on a production Tomcat server.</p>
+for use on a production JBoss Web server.</p>
<p>The servlet which implements Jasper is configured using init parameters
in your global <code>$CATALINA_BASE/conf/web.xml</code>.
@@ -87,7 +87,7 @@
<li><strong>classpath</strong> - Defines the class path to be used to compile
the generated servlets. This parameter only has an effect if the ServletContext
attribute org.apache.jasper.Constants.SERVLET_CLASSPATH is not set. This
-attribute is always set when Jasper is used within Tomcat. By default the
+attribute is always set when Jasper is used within JBoss Web. By default the
classpath is created dynamically based on the current web application.</li>
<li><strong>compilerSourceVM</strong> - What JDK version are the source files compatible with? (Default JDK 1.4)</li>
@@ -112,7 +112,7 @@
<code>clsid:8AD9C840-044E-11D1-B3E9-00805F499D93</code>.</li>
<li><strong>fork</strong> - Have Ant fork JSP page compiles so they are
-performed in a seperate JVM from Tomcat? <code>true</code> or
+performed in a seperate JVM from JBoss Web ? <code>true</code> or
<code>false</code>, default <code>true</code>.</li>
<li><strong>javaEncoding</strong> - Java file encoding to use for generating
@@ -147,12 +147,12 @@
</p>
<p>The Java compiler from Eclipse JDT in included as the default compiler. It is an
-advanced Java compiler which will load all dependencies from the Tomcat class loader,
+advanced Java compiler which will load all dependencies from the Jboss Web class loader,
which will help tremendously when compiling on large installations with tens of JARs.
On fast servers, this will allow sub-second recompilation cycles for even large JSP
pages.</p>
-<p>Apache Ant, which was used in previous Tomcat releases, can be used instead instead of
+<p>Apache Ant can be used instead instead of
the new compiler by simply removing the <code>lib/jasper-jdt.jar</code> file,
and placing the <code>ant.jar</code> file from the latest Ant distribution in the
<code>lib</code> folder. If you do this, you also need to use the "javac"
@@ -166,7 +166,7 @@
this might not be possible (for example, when using the jsp-property-group feature)
or practical, in which case the configuration of the Jasper servlet becomes critical.</p>
-<p>When using Jasper 2 in a production Tomcat server you should consider
+<p>When using Jasper 2 in a production JBoss Web server you should consider
making the following changes from the default configuration.
<ul>
<li><strong>development</strong> - To disable on access checks for JSP
@@ -251,7 +251,7 @@
<p>
The following command line can be used to run the script
-(replacing the tokens with the Tomcat base path and the path to the webapp
+(replacing the tokens with the JBoss Web base path and the path to the webapp
which should be precompiled):<br/>
<source>
$ANT_HOME/bin/ant -Dtomcat.home=<$TOMCAT_HOME> -Dwebapp.path=<$WEBAPP_PATH>
@@ -267,8 +267,7 @@
running fine with precompiled servlets. An appropriate token placed in the
web application deployment descriptor may also be used to automatically
insert the generated servlet declarations and mappings using Ant filtering
-capabilities. This is actually how all the webapps distributed with Tomcat
-are automatically compiled as part of the build process.
+capabilities.
</p>
<p>
@@ -291,7 +290,7 @@
<p><strong>Hints:</strong>
<ul>
-<li> When you switch to another tomcat release, then regenerate and recompile
+<li> When you switch to another JBoss Web or Tomcat release, then regenerate and recompile
your jsp's with this version again!</li>
<li>Use java system property at server runtime to disable tag pooling <code>org.apache.jasper.runtime.JspFactoryImpl.USE_POOL=false</code>.
and limit the buffering with <code>org.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER=true</code>. Note that changing
@@ -314,7 +313,7 @@
for <code>-encoding</code>.</li>
<li>Set the init parameter <code>compiler</code> to <code>jikes</code>.</li>
<li>Define the property <code>-Dbuild.compiler.emacs=true</code> when starting
-Tomcat by adding it to your <code>CATALINA_OPTS</code> environment variable.
+JBoss Web by adding it to your <code>CATALINA_OPTS</code> environment variable.
This changes how jikes outputs error messages so that it is compatible with
Jasper.</li>
<li>If you get an error reporting that jikes can't use UTF8 encoding, try
Modified: trunk/webapps/docs/legal.xml
===================================================================
--- trunk/webapps/docs/legal.xml 2007-09-04 17:46:10 UTC (rev 262)
+++ trunk/webapps/docs/legal.xml 2007-09-04 23:06:49 UTC (rev 263)
@@ -12,8 +12,6 @@
<p>JBossWeb is released under the LGPL License.</p>
<br/>
-
-
<subsection name="GNU Lesser General Public License">
<p class="releaseinfo">This is the first released version of the Lesser GPL. It also counts as the successor of
Modified: trunk/webapps/docs/project.xml
===================================================================
--- trunk/webapps/docs/project.xml 2007-09-04 17:46:10 UTC (rev 262)
+++ trunk/webapps/docs/project.xml 2007-09-04 23:06:49 UTC (rev 263)
@@ -39,7 +39,6 @@
<item name="MBean Descriptor"
href="mbeans-descriptor-howto.html"/>
<item name="Default Servlet" href="default-servlet.html"/>
- <item name="Load Balancer" href="balancer-howto.html"/>
<item name="Connectors" href="connectors.html"/>
<item name="Monitoring and Management"
href="monitoring.html"/>
@@ -47,7 +46,6 @@
<item name="APR" href="apr.html"/>
<item name="Virtual Hosting" href="virtual-hosting-howto.html"/>
<item name="Advanced IO" href="aio.html"/>
- <item name="Additional Components" href="extras.html"/>
</menu>
<menu name="Reference">
Deleted: trunk/webapps/docs/status.xml
===================================================================
--- trunk/webapps/docs/status.xml 2007-09-04 17:46:10 UTC (rev 262)
+++ trunk/webapps/docs/status.xml 2007-09-04 23:06:49 UTC (rev 263)
@@ -1,123 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE document [
- <!ENTITY project SYSTEM "project.xml">
-]>
-<document url="status.html">
-
- &project;
-
- <properties>
- <author email="remm(a)apache.org">Remy Maucherat</author>
- <author email="yoavs(a)apache.org">Yoav Shapira</author>
- <title>Project Status</title>
- </properties>
-
-<body>
- <section name="Preface">
- <p>
- This document attempts to convey the current status of Tomcat development
- in "big picture" terms. This is not the place to check if an individual
- bug report has been addressed or when an individual feature will be available.
- </p>
- <p>
- This page is updated roughly once per every couple of Tomcat minor releases,
- so for day-to-day status you should check the tomcat-user and tomcat-dev mailing
- lists. You can always inquire there as to the availability or status of a
- specific feature or component.
- </p>
- </section>
-
- <section name="Current Status Summary">
- <p>
- <b>Tomcat 5.0.27</b> was released on June 17th, 2004. At that time, the TOMCAT_5_0
- branch was tagged in CVS, and work on Tomcat 5.5 began. We have now had several
- Tomcat 5.5 releases, including a couple of stable ones. Accordingly, Tomcat 5.5
- is now the focus on work. Tomcat 5.0 is in maintenance mode and its releases
- will become less and less frequent.
- </p>
- <p>
- <b>Tomcat 5.5</b> has several major goals. They are discussed in the tomcat-dev
- mailing list's "5.next" thread:
- <a href="http://marc.theaimsgroup.com/?l=tomcat-dev&w=2&r=1&s=5.next&a...">MARC</a>.
- The status of some of these items is detailed below. Once 5.5 releases are
- available, please refer to the Changelog accompanying each release for detailed
- changes, enhancements, and fixes.
- </p>
- <p>
- <b>Tomcat 4.1.x</b> is no longer actively developed. It is maintained to address
- only showstopper, security, and Servlet Specification compliance issues. Maintenance
- for Tomcat 4.1.x will likely cease once a stable release or two of Tomcat 5.5 are out.
- Users of Tomcat 4.1.x are strongly encouraged to upgrade to the latest stable Tomcat
- 5.0 release.
- </p>
- <p>
- <b>Tomcat 4.0.x</b> is relatively old, and not actively maintained or supported.
- It is strongly recommended that users of these releases upgrade to the latest
- stable Tomcat 5.0 release or at least the latest stable Tomcat 4.1 release.
- </p>
- <p>
- <b>Tomcat 3.3.x</b> is in roughly the same maintenance mode as Tomcat 4.1.x.
- </p>
- <p>
- <b>Tomcat 3.2</b> and earlier are in roughly the same support state as Tomcat 4.0.x.
- Users should upgrade to Tomcat 3.3.x or the latest stable Tomcat 5.0.x.
- </p>
- </section>
-
- <section name="How to read the report">
-
- <p>
- The columns in this report contain the following information:
- <ul>
- <li><b>Priority</b> - A sense of how important it is to address this
- issue in the short term.</li>
- <li><b>Action Item</b> - Concise description of the action item
- to be completed. Where relevant, Java package names of the
- primary classes involved are listed in [square brackets]</li>
- <li><b>Volunteers</b> - Login of those developers who
- have volunteered to assist in the design, implementation, testing, and
- documentation of this action item's changes to Tomcat.</li>
- </ul>
- Developers can nominate
- themselves to work on particular action items by asking a Committer to
- add their name address to those items. The developers
- working on each item should discuss and agree upon the approach to be
- used for implementing the item's changes to the project source code
- and documentation, prior to completing those changes. Such discussions
- should take place on the tomcat-dev mailing list so that everyone can
- stay apprised of what is going on, or chime in if they want to
- contribute ideas and suggestions.
- </p>
-
- </section>
-
- <section name="TODO List">
-
- <status>
- <item priority="High" owner="costin">
- Refactor ClassLoaders for Tomcat 5.5 to allow container plugins.
- </item>
- <item priority="Medium" owner="fhanik">
- Enhance Cluster functionality for Tomcat 5.5.
- </item>
- <item priority="Medium" owner="everyone">
- Continue fixing bugs and updating docs.
- </item>
- </status>
-
- </section>
-
- <section name="Open bugs">
-
- <p>
- The list of the bugs which are in an unresolved state for Tomcat 5 can be
- seen
- <a href="http://issues.apache.org/bugzilla/buglist.cgi?bug_status=UNCONFIRMED&...">here</a>.
- Aspiring volunteers and others are strongly encouraged to attempt
- to comment and help resolve these issues.
- </p>
-
- </section>
-
-</body>
-</document>
17 years, 3 months
JBossWeb SVN: r262 - trunk.
by jbossweb-commits@lists.jboss.org
Author: remy.maucherat(a)jboss.com
Date: 2007-09-04 13:46:10 -0400 (Tue, 04 Sep 2007)
New Revision: 262
Modified:
trunk/build.xml
Log:
- Fix oops.
Modified: trunk/build.xml
===================================================================
--- trunk/build.xml 2007-09-04 17:37:26 UTC (rev 261)
+++ trunk/build.xml 2007-09-04 17:46:10 UTC (rev 262)
@@ -59,8 +59,8 @@
<!-- Classpath -->
<path id="tomcat.classpath">
- <fileset dir="lib">
- <include name="${basedir}/*.jar"/>
+ <fileset dir="${basedir}/lib">
+ <include name="*.jar"/>
</fileset>
</path>
17 years, 3 months
JBossWeb SVN: r261 - trunk/java/javax.
by jbossweb-commits@lists.jboss.org
Author: remy.maucherat(a)jboss.com
Date: 2007-09-04 13:37:26 -0400 (Tue, 04 Sep 2007)
New Revision: 261
Removed:
trunk/java/javax/mail/
Log:
- Build process update (add some JARs for APIs,
and remove the corresponding stubs).
17 years, 3 months
JBossWeb SVN: r260 - trunk/lib.
by jbossweb-commits@lists.jboss.org
Author: remy.maucherat(a)jboss.com
Date: 2007-09-04 13:36:37 -0400 (Tue, 04 Sep 2007)
New Revision: 260
Added:
trunk/lib/jboss-jaxrpc.jar
trunk/lib/mail.jar
trunk/lib/wsdl4j.jar
Log:
- Build process update (add some JARs for APIs,
and remove the corresponding stubs).
Added: trunk/lib/jboss-jaxrpc.jar
===================================================================
(Binary files differ)
Property changes on: trunk/lib/jboss-jaxrpc.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/lib/mail.jar
===================================================================
(Binary files differ)
Property changes on: trunk/lib/mail.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/lib/wsdl4j.jar
===================================================================
(Binary files differ)
Property changes on: trunk/lib/wsdl4j.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
17 years, 3 months
JBossWeb SVN: r259 - in trunk: java/javax/mail and 2 other directories.
by jbossweb-commits@lists.jboss.org
Author: remy.maucherat(a)jboss.com
Date: 2007-09-04 13:35:56 -0400 (Tue, 04 Sep 2007)
New Revision: 259
Removed:
trunk/java/javax/mail/Authenticator.java
trunk/java/javax/mail/PasswordAuthentication.java
trunk/java/javax/mail/Session.java
trunk/java/javax/mail/internet/InternetAddress.java
trunk/java/javax/mail/internet/MimeMessage.java
trunk/java/javax/mail/internet/MimePart.java
trunk/java/javax/mail/internet/MimePartDataSource.java
trunk/java/org/apache/tomcat/util/net/puretls/
Modified:
trunk/.classpath
trunk/build.xml
Log:
- Build process update (add some JARs for APIs,
and remove the corresponding stubs).
Modified: trunk/.classpath
===================================================================
--- trunk/.classpath 2007-09-04 14:44:39 UTC (rev 258)
+++ trunk/.classpath 2007-09-04 17:35:56 UTC (rev 259)
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry excluding="**/.svn/**|org/apache/naming/factory/webservices/|org/apache/tomcat/util/net/puretls/" kind="src" path="java"/>
+ <classpathentry excluding="**/.svn/**" kind="src" path="java"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="lib" path="lib/ant.jar"/>
<classpathentry kind="lib" path="lib/jasper-jdt.jar"/>
+ <classpathentry kind="lib" path="lib/jboss-jaxrpc.jar"/>
+ <classpathentry kind="lib" path="lib/mail.jar"/>
+ <classpathentry kind="lib" path="lib/wsdl4j.jar"/>
<classpathentry kind="output" path=".settings/output"/>
</classpath>
Modified: trunk/build.xml
===================================================================
--- trunk/build.xml 2007-09-04 14:44:39 UTC (rev 258)
+++ trunk/build.xml 2007-09-04 17:35:56 UTC (rev 259)
@@ -59,8 +59,9 @@
<!-- Classpath -->
<path id="tomcat.classpath">
- <pathelement location="${ant.jar}"/>
- <pathelement location="${jdt.jar}"/>
+ <fileset dir="lib">
+ <include name="${basedir}/*.jar"/>
+ </fileset>
</path>
<!-- Just build Tomcat -->
@@ -95,8 +96,6 @@
excludes="**/CVS/**,**/.svn/**">
<!-- Comment this in to show unchecked warnings: <compilerarg value="-Xlint:unchecked"/> -->
<classpath refid="tomcat.classpath" />
- <exclude name="org/apache/tomcat/util/net/puretls/**" />
- <exclude name="org/apache/naming/factory/webservices/**" />
</javac>
<tstamp>
<format property="TODAY" pattern="MMM d yyyy" locale="en"/>
Deleted: trunk/java/javax/mail/Authenticator.java
===================================================================
--- trunk/java/javax/mail/Authenticator.java 2007-09-04 14:44:39 UTC (rev 258)
+++ trunk/java/javax/mail/Authenticator.java 2007-09-04 17:35:56 UTC (rev 259)
@@ -1,5 +0,0 @@
-package javax.mail;
-
-public class Authenticator {
-
-}
Deleted: trunk/java/javax/mail/PasswordAuthentication.java
===================================================================
--- trunk/java/javax/mail/PasswordAuthentication.java 2007-09-04 14:44:39 UTC (rev 258)
+++ trunk/java/javax/mail/PasswordAuthentication.java 2007-09-04 17:35:56 UTC (rev 259)
@@ -1,6 +0,0 @@
-package javax.mail;
-
-public class PasswordAuthentication {
- public PasswordAuthentication(String user, String password) {
- }
-}
Deleted: trunk/java/javax/mail/Session.java
===================================================================
--- trunk/java/javax/mail/Session.java 2007-09-04 14:44:39 UTC (rev 258)
+++ trunk/java/javax/mail/Session.java 2007-09-04 17:35:56 UTC (rev 259)
@@ -1,12 +0,0 @@
-package javax.mail;
-
-import java.util.Properties;
-
-public class Session {
- public static Session getInstance(Properties props, Authenticator auth) {
- return null;
- }
- public static Session getInstance(Properties props) {
- return null;
- }
-}
Deleted: trunk/java/javax/mail/internet/InternetAddress.java
===================================================================
--- trunk/java/javax/mail/internet/InternetAddress.java 2007-09-04 14:44:39 UTC (rev 258)
+++ trunk/java/javax/mail/internet/InternetAddress.java 2007-09-04 17:35:56 UTC (rev 259)
@@ -1,6 +0,0 @@
-package javax.mail.internet;
-
-public class InternetAddress {
- public InternetAddress(String from) {
- }
-}
Deleted: trunk/java/javax/mail/internet/MimeMessage.java
===================================================================
--- trunk/java/javax/mail/internet/MimeMessage.java 2007-09-04 14:44:39 UTC (rev 258)
+++ trunk/java/javax/mail/internet/MimeMessage.java 2007-09-04 17:35:56 UTC (rev 259)
@@ -1,12 +0,0 @@
-package javax.mail.internet;
-
-import javax.mail.Session;
-
-public class MimeMessage {
- public MimeMessage(Session session) {
- }
- public void setFrom(InternetAddress from) {
- }
- public void setSubject(String subject) {
- }
-}
Deleted: trunk/java/javax/mail/internet/MimePart.java
===================================================================
--- trunk/java/javax/mail/internet/MimePart.java 2007-09-04 14:44:39 UTC (rev 258)
+++ trunk/java/javax/mail/internet/MimePart.java 2007-09-04 17:35:56 UTC (rev 259)
@@ -1,4 +0,0 @@
-package javax.mail.internet;
-
-public interface MimePart {
-}
Deleted: trunk/java/javax/mail/internet/MimePartDataSource.java
===================================================================
--- trunk/java/javax/mail/internet/MimePartDataSource.java 2007-09-04 14:44:39 UTC (rev 258)
+++ trunk/java/javax/mail/internet/MimePartDataSource.java 2007-09-04 17:35:56 UTC (rev 259)
@@ -1,6 +0,0 @@
-package javax.mail.internet;
-
-public class MimePartDataSource {
- public MimePartDataSource(MimePart part) {
- }
-}
17 years, 3 months
JBossWeb SVN: r258 - in trunk/java/org/apache: catalina/core and 3 other directories.
by jbossweb-commits@lists.jboss.org
Author: remy.maucherat(a)jboss.com
Date: 2007-09-04 10:44:39 -0400 (Tue, 04 Sep 2007)
New Revision: 258
Modified:
trunk/java/org/apache/catalina/connector/InputBuffer.java
trunk/java/org/apache/catalina/core/StandardContext.java
trunk/java/org/apache/catalina/loader/WebappLoader.java
trunk/java/org/apache/tomcat/util/buf/B2CConverter.java
trunk/java/org/apache/tomcat/util/net/SSLSupport.java
Log:
- Logging cleanups.
- C2B fixes.
Modified: trunk/java/org/apache/catalina/connector/InputBuffer.java
===================================================================
--- trunk/java/org/apache/catalina/connector/InputBuffer.java 2007-09-03 14:06:32 UTC (rev 257)
+++ trunk/java/org/apache/catalina/connector/InputBuffer.java 2007-09-04 14:44:39 UTC (rev 258)
@@ -292,7 +292,8 @@
if (coyoteRequest == null)
return -1;
- state = BYTE_STATE;
+ if(state == INITIAL_STATE)
+ state = BYTE_STATE;
int result = coyoteRequest.doRead(bb);
@@ -325,6 +326,8 @@
public void realWriteChars(char c[], int off, int len)
throws IOException {
markPos = -1;
+ cb.setOffset(0);
+ cb.setEnd(0);
}
@@ -351,12 +354,9 @@
cb.setEnd(0);
}
- int limit = bb.getLength()+cb.getStart();
- if( cb.getLimit() < limit )
- cb.setLimit(limit);
- conv.convert(bb, cb);
+ state = CHAR_STATE;
+ conv.convert(bb, cb, len);
bb.setOffset(bb.getEnd());
- state = CHAR_STATE;
return cb.getLength();
Modified: trunk/java/org/apache/catalina/core/StandardContext.java
===================================================================
--- trunk/java/org/apache/catalina/core/StandardContext.java 2007-09-03 14:06:32 UTC (rev 257)
+++ trunk/java/org/apache/catalina/core/StandardContext.java 2007-09-04 14:44:39 UTC (rev 258)
@@ -4084,8 +4084,6 @@
public synchronized void start() throws LifecycleException {
//if (lazy ) return;
if (started) {
- if(log.isInfoEnabled())
- log.info(sm.getString("containerBase.alreadyStarted", logName()));
return;
}
if( !initialized ) {
Modified: trunk/java/org/apache/catalina/loader/WebappLoader.java
===================================================================
--- trunk/java/org/apache/catalina/loader/WebappLoader.java 2007-09-03 14:06:32 UTC (rev 257)
+++ trunk/java/org/apache/catalina/loader/WebappLoader.java 2007-09-04 14:44:39 UTC (rev 258)
@@ -627,9 +627,7 @@
// Log and continue anyway, this is not critical
log.error("Error registering jndi stream handler", e);
} catch (Throwable t) {
- // This is likely a dual registration
- log.info("Dual registration of jndi stream handler: "
- + t.getMessage());
+ // This is likely a dual registration, ignore
}
}
Modified: trunk/java/org/apache/tomcat/util/buf/B2CConverter.java
===================================================================
--- trunk/java/org/apache/tomcat/util/buf/B2CConverter.java 2007-09-03 14:06:32 UTC (rev 257)
+++ trunk/java/org/apache/tomcat/util/buf/B2CConverter.java 2007-09-04 14:44:39 UTC (rev 258)
@@ -68,22 +68,31 @@
char result[]=new char[BUFFER_SIZE];
/** Convert a buffer of bytes into a chars
+ * @deprecated
*/
public void convert( ByteChunk bb, CharChunk cb )
throws IOException
{
// Set the ByteChunk as input to the Intermediate reader
- iis.setByteChunk( bb );
- convert(cb);
+ convert(bb, cb, cb.getBuffer().length - cb.getEnd());
}
- private void convert(CharChunk cb)
+ public void convert( ByteChunk bb, CharChunk cb, int limit)
+ throws IOException
+ {
+ iis.setByteChunk( bb );
+ convert(cb, limit);
+ }
+
+ private void convert(CharChunk cb, int limit)
throws IOException
{
try {
// read from the reader
- while( iis.available()>0 ) { // conv.ready() ) {
- int cnt=conv.read( result, 0, BUFFER_SIZE );
+ int count = 0;
+ while( limit > 0 ) { // conv.ready() ) {
+ int size = limit < BUFFER_SIZE ? limit : BUFFER_SIZE;
+ int cnt=conv.read( result, 0, size );
if( cnt <= 0 ) {
// End of stream ! - we may be in a bad state
if( debug>0)
@@ -96,6 +105,7 @@
// XXX go directly
cb.append( result, 0, cnt );
+ limit -= cnt;
}
} catch( IOException ex) {
if( debug>0)
@@ -225,10 +235,7 @@
not be called if recycling the converter and if data was not flushed.
*/
final class IntermediateInputStream extends InputStream {
- byte buf[];
- int pos;
- int len;
- int end;
+ ByteChunk bc = null;
public IntermediateInputStream() {
}
@@ -239,39 +246,18 @@
}
public final int read(byte cbuf[], int off, int len) throws IOException {
- if( pos >= end ) return -1;
- if (pos + len > end) {
- len = end - pos;
- }
- if (len <= 0) {
- return 0;
- }
- System.arraycopy(buf, pos, cbuf, off, len);
- pos += len;
- return len;
+ return bc.substract(cbuf, off, len);
}
public final int read() throws IOException {
- return (pos < end ) ? (buf[pos++] & 0xff) : -1;
+ return bc.substract();
}
- public int available() throws IOException {
- return end-pos;
- }
// -------------------- Internal methods --------------------
- void setBuffer( byte b[], int p, int l ) {
- buf=b;
- pos=p;
- len=l;
- end=pos+len;
- }
void setByteChunk( ByteChunk mb ) {
- buf=mb.getBytes();
- pos=mb.getStart();
- len=mb.getLength();
- end=pos+len;
+ bc = mb;
}
}
Modified: trunk/java/org/apache/tomcat/util/net/SSLSupport.java
===================================================================
--- trunk/java/org/apache/tomcat/util/net/SSLSupport.java 2007-09-03 14:06:32 UTC (rev 257)
+++ trunk/java/org/apache/tomcat/util/net/SSLSupport.java 2007-09-04 14:44:39 UTC (rev 258)
@@ -61,7 +61,9 @@
new CipherData("_WITH_RC4_128_", 128),
new CipherData("_WITH_DES40_CBC_", 40),
new CipherData("_WITH_DES_CBC_", 56),
- new CipherData("_WITH_3DES_EDE_CBC_", 168)
+ new CipherData("_WITH_3DES_EDE_CBC_", 168),
+ new CipherData("_WITH_AES_128_CBC_", 128),
+ new CipherData("_WITH_AES_256_CBC_", 256)
};
/**
17 years, 3 months
JBossWeb SVN: r257 - tags.
by jbossweb-commits@lists.jboss.org
Author: remy.maucherat(a)jboss.com
Date: 2007-09-03 10:06:32 -0400 (Mon, 03 Sep 2007)
New Revision: 257
Added:
tags/JBOSSWEB_2_1_0_CR2/
Log:
- JBoss Web 2.1.0 CR 2 tag, for testing purposes.
Copied: tags/JBOSSWEB_2_1_0_CR2 (from rev 256, trunk)
17 years, 3 months