Commit cc5e1fab by Tom Tromey Committed by Tom Tromey

re PR libgcj/29869 (LogManager class loading failure with Tomcat)

libjava
	PR libgcj/29869:
	* java/util/logging/LogManager.java (readConfiguration): Handle
	comma-separated 'handlers'.  Don't try to add a non-existing
	handler.
libgcj/classpath
	PR libgcj/29869:
	* gnu/java/util/jar/JarUtils.java (log): Commented out.
	(readSFManifest): Don't log.

From-SVN: r123356
parent 1a549788
2007-03-29 Tom Tromey <tromey@redhat.com>
PR libgcj/29869:
* java/util/logging/LogManager.java (readConfiguration): Handle
comma-separated 'handlers'. Don't try to add a non-existing
handler.
2007-03-27 Tom Tromey <tromey@redhat.com> 2007-03-27 Tom Tromey <tromey@redhat.com>
* sources.am, Makefile.in: Rebuilt. * sources.am, Makefile.in: Rebuilt.
......
2007-03-29 Tom Tromey <tromey@redhat.com>
PR libgcj/29869:
* gnu/java/util/jar/JarUtils.java (log): Commented out.
(readSFManifest): Don't log.
2007-03-28 Casey Marshall <csm@gnu.org> 2007-03-28 Casey Marshall <csm@gnu.org>
* gnu/javax/net/ssl/provider/ClientHandshake.java (RSAGen.implRun): * gnu/javax/net/ssl/provider/ClientHandshake.java (RSAGen.implRun):
/* JarUtils.java -- Utility methods for reading/writing Manifest[-like] files /* JarUtils.java -- Utility methods for reading/writing Manifest[-like] files
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006, 2007 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
...@@ -62,7 +62,10 @@ import java.util.logging.Logger; ...@@ -62,7 +62,10 @@ import java.util.logging.Logger;
*/ */
public abstract class JarUtils public abstract class JarUtils
{ {
private static final Logger log = Logger.getLogger(JarUtils.class.getName()); // We used to log here, but this causes problems during bootstrap,
// and it didn't seem worthwhile to preserve this. Still, this
// might be useful for debugging.
// private static final Logger log = Logger.getLogger(JarUtils.class.getName());
public static final String META_INF = "META-INF/"; public static final String META_INF = "META-INF/";
public static final String DSA_SUFFIX = ".DSA"; public static final String DSA_SUFFIX = ".DSA";
public static final String SF_SUFFIX = ".SF"; public static final String SF_SUFFIX = ".SF";
...@@ -112,9 +115,10 @@ public abstract class JarUtils ...@@ -112,9 +115,10 @@ public abstract class JarUtils
{ {
String version = expectHeader(version_header, br); String version = expectHeader(version_header, br);
attr.putValue(SIGNATURE_VERSION, version); attr.putValue(SIGNATURE_VERSION, version);
if (! DEFAULT_SF_VERSION.equals(version)) // This may cause problems during VM bootstrap.
log.warning("Unexpected version number: " + version // if (! DEFAULT_SF_VERSION.equals(version))
+ ". Continue (but may fail later)"); // log.warning("Unexpected version number: " + version
// + ". Continue (but may fail later)");
} }
catch (IOException ioe) catch (IOException ioe)
{ {
......
...@@ -559,13 +559,21 @@ public class LogManager ...@@ -559,13 +559,21 @@ public class LogManager
if ("handlers".equals(key)) if ("handlers".equals(key))
{ {
StringTokenizer tokenizer = new StringTokenizer(value); // In Java 5 and earlier this was specified to be
// whitespace-separated, but in reality it also accepted
// commas (tomcat relied on this), and in Java 6 the
// documentation was updated to fit the implementation.
StringTokenizer tokenizer = new StringTokenizer(value,
" \t\n\r\f,");
while (tokenizer.hasMoreTokens()) while (tokenizer.hasMoreTokens())
{ {
String handlerName = tokenizer.nextToken(); String handlerName = tokenizer.nextToken();
Handler handler = (Handler) Handler handler = (Handler)
createInstance(handlerName, Handler.class, key); createInstance(handlerName, Handler.class, key);
Logger.root.addHandler(handler); // Tomcat also relies on the implementation ignoring
// items in 'handlers' which are not class names.
if (handler != null)
Logger.root.addHandler(handler);
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment