Author: markt Date: Mon Nov 24 11:19:41 2014 New Revision: 1641363 URL: http://svn.apache.org/r1641363 Log: More changes for Java 8 as the minimum version
Modified: tomcat/trunk/build.xml tomcat/trunk/conf/web.xml tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioReceiver.java tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java tomcat/trunk/java/org/apache/jasper/EmbeddedServletOptions.java tomcat/trunk/java/org/apache/jasper/JspC.java tomcat/trunk/java/org/apache/jasper/Options.java tomcat/trunk/java/org/apache/jasper/compiler/JDTCompiler.java tomcat/trunk/java/org/apache/jasper/resources/LocalStrings.properties tomcat/trunk/java/org/apache/jasper/resources/LocalStrings_es.properties tomcat/trunk/java/org/apache/jasper/resources/LocalStrings_fr.properties tomcat/trunk/java/org/apache/jasper/resources/LocalStrings_ja.properties tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java tomcat/trunk/java/org/apache/tomcat/util/net/NioSelectorPool.java tomcat/trunk/java/org/apache/tomcat/util/net/SecureNioChannel.java tomcat/trunk/modules/jdbc-pool/build.properties.default tomcat/trunk/modules/jdbc-pool/pom.xml tomcat/trunk/test/org/apache/catalina/tribes/test/NioSenderTest.java tomcat/trunk/test/org/apache/catalina/tribes/test/transport/SocketNioSend.java tomcat/trunk/test/org/apache/catalina/tribes/test/transport/SocketNioValidateSend.java tomcat/trunk/webapps/docs/jasper-howto.xml Modified: tomcat/trunk/build.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/build.xml?rev=1641363&r1=1641362&r2=1641363&view=diff ============================================================================== --- tomcat/trunk/build.xml (original) +++ tomcat/trunk/build.xml Mon Nov 24 11:19:41 2014 @@ -77,9 +77,9 @@ <!-- build output directory for jdbc-pool --> <property name="tomcat.pool" value="${tomcat.output}/jdbc-pool"/> - <!-- Servlet 3.1 spec requires 1.7+ --> - <property name="compile.source" value="1.7"/> - <property name="compile.target" value="1.7"/> + <!-- Servlet 4.0 spec requires 1.8+ --> + <property name="compile.source" value="1.8"/> + <property name="compile.target" value="1.8"/> <!-- Locations to create the JAR artifacts --> <!-- Standard JARs --> Modified: tomcat/trunk/conf/web.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/conf/web.xml?rev=1641363&r1=1641362&r2=1641363&view=diff ============================================================================== --- tomcat/trunk/conf/web.xml (original) +++ tomcat/trunk/conf/web.xml Mon Nov 24 11:19:41 2014 @@ -137,9 +137,9 @@ <!-- pages. See the jasper documentation for more --> <!-- information. --> <!-- --> - <!-- compilerSourceVM Compiler source VM. [1.7] --> + <!-- compilerSourceVM Compiler source VM. [1.8] --> <!-- --> - <!-- compilerTargetVM Compiler target VM. [1.7] --> + <!-- compilerTargetVM Compiler target VM. [1.8] --> <!-- --> <!-- development Is Jasper used in development mode? If true, --> <!-- the frequency at which JSPs are checked for --> Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioReceiver.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioReceiver.java?rev=1641363&r1=1641362&r2=1641363&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioReceiver.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioReceiver.java Mon Nov 24 11:19:41 2014 @@ -114,12 +114,7 @@ public class NioReceiver extends Receive // Get the associated ServerSocket to bind it with ServerSocket serverSocket = serverChannel.socket(); // create a new Selector for use below - synchronized (Selector.class) { - // Selector.open() isn't thread safe - // http://bugs.sun.com/view_bug.do?bug_id=6427854 - // Affects 1.6.0_29, fixed in 1.7.0_01 - this.selector.set(Selector.open()); - } + this.selector.set(Selector.open()); // set the port the server channel will listen to //serverSocket.bind(new InetSocketAddress(getBind(), getTcpListenPort())); bind(serverSocket,getPort(),getAutoBind()); Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java?rev=1641363&r1=1641362&r2=1641363&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java Mon Nov 24 11:19:41 2014 @@ -47,12 +47,7 @@ public class ParallelNioSender extends A protected final HashMap<Member, NioSender> nioSenders = new HashMap<>(); public ParallelNioSender() throws IOException { - synchronized (Selector.class) { - // Selector.open() isn't thread safe - // http://bugs.sun.com/view_bug.do?bug_id=6427854 - // Affects 1.6.0_29, fixed in 1.7.0_01 - selector = Selector.open(); - } + selector = Selector.open(); setConnected(true); } Modified: tomcat/trunk/java/org/apache/jasper/EmbeddedServletOptions.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/EmbeddedServletOptions.java?rev=1641363&r1=1641362&r2=1641363&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/jasper/EmbeddedServletOptions.java (original) +++ tomcat/trunk/java/org/apache/jasper/EmbeddedServletOptions.java Mon Nov 24 11:19:41 2014 @@ -132,12 +132,12 @@ public final class EmbeddedServletOption /** * Compiler target VM. */ - private String compilerTargetVM = "1.7"; + private String compilerTargetVM = "1.8"; /** * The compiler source VM. */ - private String compilerSourceVM = "1.7"; + private String compilerSourceVM = "1.8"; /** * The compiler class name. Modified: tomcat/trunk/java/org/apache/jasper/JspC.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/JspC.java?rev=1641363&r1=1641362&r2=1641363&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/jasper/JspC.java (original) +++ tomcat/trunk/java/org/apache/jasper/JspC.java Mon Nov 24 11:19:41 2014 @@ -189,8 +189,8 @@ public class JspC extends Task implement protected String compiler = null; - protected String compilerTargetVM = "1.7"; - protected String compilerSourceVM = "1.7"; + protected String compilerTargetVM = "1.8"; + protected String compilerSourceVM = "1.8"; protected boolean classDebugInfo = true; Modified: tomcat/trunk/java/org/apache/jasper/Options.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/Options.java?rev=1641363&r1=1641362&r2=1641363&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/jasper/Options.java (original) +++ tomcat/trunk/java/org/apache/jasper/Options.java Mon Nov 24 11:19:41 2014 @@ -126,12 +126,12 @@ public interface Options { public String getCompiler(); /** - * The compiler target VM, e.g. 1.1, 1.2, 1.3, 1.4, 1.5 or 1.6. + * The compiler target VM, e.g. 1.8. */ public String getCompilerTargetVM(); /** - * The compiler source VM, e.g. 1.3, 1.4, 1.5 or 1.6. + * The compiler source VM, e.g. 1.8. */ public String getCompilerSourceVM(); Modified: tomcat/trunk/java/org/apache/jasper/compiler/JDTCompiler.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/compiler/JDTCompiler.java?rev=1641363&r1=1641362&r2=1641363&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/jasper/compiler/JDTCompiler.java (original) +++ tomcat/trunk/java/org/apache/jasper/compiler/JDTCompiler.java Mon Nov 24 11:19:41 2014 @@ -318,9 +318,9 @@ public class JDTCompiler extends org.apa CompilerOptions.VERSION_1_7); } } else { - // Default to 1.7 + // Default to 1.8 settings.put(CompilerOptions.OPTION_Source, - CompilerOptions.VERSION_1_7); + CompilerOptions.VERSION_1_8); } // Target JVM @@ -364,11 +364,11 @@ public class JDTCompiler extends org.apa CompilerOptions.VERSION_1_7); } } else { - // Default to 1.7 + // Default to 1.8 settings.put(CompilerOptions.OPTION_TargetPlatform, - CompilerOptions.VERSION_1_7); + CompilerOptions.VERSION_1_8); settings.put(CompilerOptions.OPTION_Compliance, - CompilerOptions.VERSION_1_7); + CompilerOptions.VERSION_1_8); } final IProblemFactory problemFactory = Modified: tomcat/trunk/java/org/apache/jasper/resources/LocalStrings.properties URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/resources/LocalStrings.properties?rev=1641363&r1=1641362&r2=1641363&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/jasper/resources/LocalStrings.properties (original) +++ tomcat/trunk/java/org/apache/jasper/resources/LocalStrings.properties Mon Nov 24 11:19:41 2014 @@ -180,8 +180,8 @@ where options include:\n\ \ -xpoweredBy Add X-Powered-By response header\n\ \ -trimSpaces Trim spaces in template text between actions, directives\n\ \ -javaEncoding <enc> Set the encoding charset for Java classes (default UTF-8)\n\ -\ -source <version> Set the -source argument to the compiler (default 1.6)\n\ -\ -target <version> Set the -target argument to the compiler (default 1.6)\n\ +\ -source <version> Set the -source argument to the compiler (default 1.8)\n\ +\ -target <version> Set the -target argument to the compiler (default 1.8)\n\ jspc.webxml.header=<?xml version="1.0" encoding="ISO-8859-1"?>\n\ \n\ Modified: tomcat/trunk/java/org/apache/jasper/resources/LocalStrings_es.properties URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/resources/LocalStrings_es.properties?rev=1641363&r1=1641362&r2=1641363&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/jasper/resources/LocalStrings_es.properties (original) +++ tomcat/trunk/java/org/apache/jasper/resources/LocalStrings_es.properties Mon Nov 24 11:19:41 2014 @@ -178,8 +178,8 @@ jspc.usage = Uso\: jspc <opciones> [--] \ -xpoweredBy A\u00F1ade cabecera de respuesta X-Powered-By\n\ \ -trimSpaces Trim spaces in template text between actions, directives\n\ \ -javaEncoding <enc> Set the encoding charset for Java classes (default UTF-8)\n\ - \ -source <version> Set the -source argument to the compiler (default 1.6)\n\ - \ -target <version> Set the -target argument to the compiler (default 1.6)\n + \ -source <version> Set the -source argument to the compiler (default 1.8)\n\ + \ -target <version> Set the -target argument to the compiler (default 1.8)\n jspc.webxml.header = <?xml version\="1.0" encoding\="ISO-8859-1"?>\n\ \n\ <\!DOCTYPE web-app\n\ Modified: tomcat/trunk/java/org/apache/jasper/resources/LocalStrings_fr.properties URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/resources/LocalStrings_fr.properties?rev=1641363&r1=1641362&r2=1641363&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/jasper/resources/LocalStrings_fr.properties (original) +++ tomcat/trunk/java/org/apache/jasper/resources/LocalStrings_fr.properties Mon Nov 24 11:19:41 2014 @@ -113,8 +113,8 @@ o\u00f9 les options comprennet:\n\ \ -sax2 <driverclassname> Le nom de classe du Driver SAX 2.0 \u00e0 utiliser\n\ \ -trimSpaces Trim spaces in template text between actions, directives\n\ \ -javaEncoding <enc> Set the encoding charset for Java classes (default UTF-8)\n\ -\ -source <version> Set the -source argument to the compiler (default 1.6)\n\ -\ -target <version> Set the -target argument to the compiler (default 1.6)\n\ +\ -source <version> Set the -source argument to the compiler (default 1.8)\n\ +\ -target <version> Set the -target argument to the compiler (default 1.8)\n\ jspc.webxml.header=<?xml version="1.0" encoding="ISO-8859-1"?>\n\ \n\ Modified: tomcat/trunk/java/org/apache/jasper/resources/LocalStrings_ja.properties URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/resources/LocalStrings_ja.properties?rev=1641363&r1=1641362&r2=1641363&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/jasper/resources/LocalStrings_ja.properties (original) +++ tomcat/trunk/java/org/apache/jasper/resources/LocalStrings_ja.properties Mon Nov 24 11:19:41 2014 @@ -155,8 +155,8 @@ JSP\u30d5\u30a1\u30a4\u30eb\u306e\u5834\ \ -trimSpaces \u30a2\u30af\u30b7\u30e7\u30f3\u3084\u6307\u793a\u5b50\u306e\u9593\u306e\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u30c6\u30ad\u30b9\u30c8\u4e2d\u306e\u30b9\u30da\u30fc\u30b9\u3092\u524a\u9664\n\ \ -trimSpaces Trim spaces in template text between actions, directives\n\ \ -javaEncoding <enc> Set the encoding charset for Java classes (default UTF-8)\n\ -\ -source <version> Set the -source argument to the compiler (default 1.6)\n\ -\ -target <version> Set the -target argument to the compiler (default 1.6)\n\ +\ -source <version> Set the -source argument to the compiler (default 1.8)\n\ +\ -target <version> Set the -target argument to the compiler (default 1.8)\n\ jspc.webxml.header=<?xml version="1.0" encoding="ISO-8859-1"?>\n\ \n\ Modified: tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java?rev=1641363&r1=1641362&r2=1641363&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java Mon Nov 24 11:19:41 2014 @@ -824,12 +824,7 @@ public class NioEndpoint extends Abstrac private volatile int keyCount = 0; public Poller() throws IOException { - synchronized (Selector.class) { - // Selector.open() isn't thread safe - // http://bugs.sun.com/view_bug.do?bug_id=6427854 - // Affects 1.6.0_29, fixed in 1.7.0_01 - this.selector = Selector.open(); - } + this.selector = Selector.open(); } public int getKeyCount() { return keyCount; } Modified: tomcat/trunk/java/org/apache/tomcat/util/net/NioSelectorPool.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/NioSelectorPool.java?rev=1641363&r1=1641362&r2=1641363&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/net/NioSelectorPool.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/NioSelectorPool.java Mon Nov 24 11:19:41 2014 @@ -63,12 +63,7 @@ public class NioSelectorPool { if (SHARED && SHARED_SELECTOR == null) { synchronized ( NioSelectorPool.class ) { if ( SHARED_SELECTOR == null ) { - synchronized (Selector.class) { - // Selector.open() isn't thread safe - // http://bugs.sun.com/view_bug.do?bug_id=6427854 - // Affects 1.6.0_29, fixed in 1.7.0_01 - SHARED_SELECTOR = Selector.open(); - } + SHARED_SELECTOR = Selector.open(); log.info("Using a shared selector for servlet write/read"); } } @@ -89,23 +84,13 @@ public class NioSelectorPool { try { s = selectors.size()>0?selectors.poll():null; if (s == null) { - synchronized (Selector.class) { - // Selector.open() isn't thread safe - // http://bugs.sun.com/view_bug.do?bug_id=6427854 - // Affects 1.6.0_29, fixed in 1.7.0_01 - s = Selector.open(); - } + s = Selector.open(); } else spare.decrementAndGet(); }catch (NoSuchElementException x ) { try { - synchronized (Selector.class) { - // Selector.open() isn't thread safe - // http://bugs.sun.com/view_bug.do?bug_id=6427854 - // Affects 1.6.0_29, fixed in 1.7.0_01 - s = Selector.open(); - } + s = Selector.open(); } catch (IOException iox) { } } finally { Modified: tomcat/trunk/java/org/apache/tomcat/util/net/SecureNioChannel.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/SecureNioChannel.java?rev=1641363&r1=1641362&r2=1641363&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/net/SecureNioChannel.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/SecureNioChannel.java Mon Nov 24 11:19:41 2014 @@ -247,12 +247,7 @@ public class SecureNioChannel extends Ni default : { long now = System.currentTimeMillis(); if (selector==null) { - synchronized (Selector.class) { - // Selector.open() isn't thread safe - // http://bugs.sun.com/view_bug.do?bug_id=6427854 - // Affects 1.6.0_29, fixed in 1.7.0_01 - selector = Selector.open(); - } + selector = Selector.open(); key = getIOChannel().register(selector, hsStatus); } else { key.interestOps(hsStatus); // null warning supressed Modified: tomcat/trunk/modules/jdbc-pool/build.properties.default URL: http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/build.properties.default?rev=1641363&r1=1641362&r2=1641363&view=diff ============================================================================== --- tomcat/trunk/modules/jdbc-pool/build.properties.default (original) +++ tomcat/trunk/modules/jdbc-pool/build.properties.default Mon Nov 24 11:19:41 2014 @@ -35,8 +35,8 @@ version.suffix= # contexts by the various build scripts. base.path=${basedir}/includes -compile.source=1.7 -compile.target=1.7 +compile.source=1.8 +compile.target=1.8 compile.debug=true # Do not pass -deprecation (-Xlint:deprecation) flag to javac Modified: tomcat/trunk/modules/jdbc-pool/pom.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/pom.xml?rev=1641363&r1=1641362&r2=1641363&view=diff ============================================================================== --- tomcat/trunk/modules/jdbc-pool/pom.xml (original) +++ tomcat/trunk/modules/jdbc-pool/pom.xml Mon Nov 24 11:19:41 2014 @@ -90,8 +90,8 @@ <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> - <source>1.7</source> - <target>1.7</target> + <source>1.8</source> + <target>1.8</target> <optimize>true</optimize> <debug>true</debug> <showDeprecation>true</showDeprecation> Modified: tomcat/trunk/test/org/apache/catalina/tribes/test/NioSenderTest.java URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/tribes/test/NioSenderTest.java?rev=1641363&r1=1641362&r2=1641363&view=diff ============================================================================== --- tomcat/trunk/test/org/apache/catalina/tribes/test/NioSenderTest.java (original) +++ tomcat/trunk/test/org/apache/catalina/tribes/test/NioSenderTest.java Mon Nov 24 11:19:41 2014 @@ -50,12 +50,7 @@ public class NioSenderTest { } public void init() throws Exception { - synchronized (Selector.class) { - // Selector.open() isn't thread safe - // http://bugs.sun.com/view_bug.do?bug_id=6427854 - // Affects 1.6.0_29, fixed in 1.7.0_01 - selector = Selector.open(); - } + selector = Selector.open(); mbr = new MemberImpl("localhost",4444,0); NioSender sender = new NioSender(); sender.setDestination(mbr); Modified: tomcat/trunk/test/org/apache/catalina/tribes/test/transport/SocketNioSend.java URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/tribes/test/transport/SocketNioSend.java?rev=1641363&r1=1641362&r2=1641363&view=diff ============================================================================== --- tomcat/trunk/test/org/apache/catalina/tribes/test/transport/SocketNioSend.java (original) +++ tomcat/trunk/test/org/apache/catalina/tribes/test/transport/SocketNioSend.java Mon Nov 24 11:19:41 2014 @@ -32,13 +32,7 @@ import org.apache.catalina.tribes.transp public class SocketNioSend { public static void main(String[] args) throws Exception { - Selector selector; - synchronized (Selector.class) { - // Selector.open() isn't thread safe - // http://bugs.sun.com/view_bug.do?bug_id=6427854 - // Affects 1.6.0_29, fixed in 1.7.0_01 - selector = Selector.open(); - } + Selector selector = Selector.open(); Member mbr = new MemberImpl("localhost", 9999, 0); ChannelData data = new ChannelData(); data.setOptions(Channel.SEND_OPTIONS_BYTE_MESSAGE); Modified: tomcat/trunk/test/org/apache/catalina/tribes/test/transport/SocketNioValidateSend.java URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/tribes/test/transport/SocketNioValidateSend.java?rev=1641363&r1=1641362&r2=1641363&view=diff ============================================================================== --- tomcat/trunk/test/org/apache/catalina/tribes/test/transport/SocketNioValidateSend.java (original) +++ tomcat/trunk/test/org/apache/catalina/tribes/test/transport/SocketNioValidateSend.java Mon Nov 24 11:19:41 2014 @@ -30,13 +30,7 @@ import org.apache.catalina.tribes.transp public class SocketNioValidateSend { public static void main(String[] args) throws Exception { - Selector selector; - synchronized (Selector.class) { - // Selector.open() isn't thread safe - // http://bugs.sun.com/view_bug.do?bug_id=6427854 - // Affects 1.6.0_29, fixed in 1.7.0_01 - selector = Selector.open(); - } + Selector selector = Selector.open(); Member mbr = new MemberImpl("localhost", 9999, 0); byte seq = 0; byte[] buf = new byte[50000]; Modified: tomcat/trunk/webapps/docs/jasper-howto.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/jasper-howto.xml?rev=1641363&r1=1641362&r2=1641363&view=diff ============================================================================== --- tomcat/trunk/webapps/docs/jasper-howto.xml (original) +++ tomcat/trunk/webapps/docs/jasper-howto.xml Mon Nov 24 11:19:41 2014 @@ -106,10 +106,10 @@ set then <code>setenv.[sh|bat]</code> sh to the <code>CLASSPATH</code> environment variable.</li> <li><strong>compilerSourceVM</strong> - What JDK version are the source files -compatible with? (Default value: <code>1.7</code>)</li> +compatible with? (Default value: <code>1.8</code>)</li> <li><strong>compilerTargetVM</strong> - What JDK version are the generated files -compatible with? (Default value: <code>1.7</code>)</li> +compatible with? (Default value: <code>1.8</code>)</li> <li><strong>development</strong> - Is Jasper used in development mode? If true, the frequency at which JSPs are checked for modification may be specified via --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org