Author: markt Date: Fri Apr 23 14:23:45 2010 New Revision: 937309 URL: http://svn.apache.org/viewvc?rev=937309&view=rev Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=49143 Threading / initialisation issues. Not all were valid. Make them volatile anyway so FindBugs doesn't complain. Fix some additional issues - use of valueOf() - found along the way
Modified: tomcat/trunk/java/org/apache/catalina/realm/RealmBase.java tomcat/trunk/java/org/apache/catalina/session/StandardSession.java tomcat/trunk/java/org/apache/catalina/startup/TldConfig.java tomcat/trunk/java/org/apache/catalina/util/ExtensionValidator.java tomcat/trunk/java/org/apache/tomcat/util/modeler/modules/MbeansDescriptorsDigesterSource.java Modified: tomcat/trunk/java/org/apache/catalina/realm/RealmBase.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/realm/RealmBase.java?rev=937309&r1=937308&r2=937309&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/realm/RealmBase.java (original) +++ tomcat/trunk/java/org/apache/catalina/realm/RealmBase.java Fri Apr 23 14:23:45 2010 @@ -124,7 +124,7 @@ public abstract class RealmBase extends /** * MD5 message digest provider. */ - protected static MessageDigest md5Helper; + protected static volatile MessageDigest md5Helper; /** Modified: tomcat/trunk/java/org/apache/catalina/session/StandardSession.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/session/StandardSession.java?rev=937309&r1=937308&r2=937309&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/session/StandardSession.java (original) +++ tomcat/trunk/java/org/apache/catalina/session/StandardSession.java Fri Apr 23 14:23:45 2010 @@ -249,7 +249,7 @@ public class StandardSession /** * The HTTP session context associated with this session. */ - protected static HttpSessionContext sessionContext = null; + protected static volatile HttpSessionContext sessionContext = null; /** @@ -1559,12 +1559,12 @@ public class StandardSession protected void writeObject(ObjectOutputStream stream) throws IOException { // Write the scalar instance variables (except Manager) - stream.writeObject(new Long(creationTime)); - stream.writeObject(new Long(lastAccessedTime)); - stream.writeObject(new Integer(maxInactiveInterval)); - stream.writeObject(new Boolean(isNew)); - stream.writeObject(new Boolean(isValid)); - stream.writeObject(new Long(thisAccessedTime)); + stream.writeObject(Long.valueOf(creationTime)); + stream.writeObject(Long.valueOf(lastAccessedTime)); + stream.writeObject(Integer.valueOf(maxInactiveInterval)); + stream.writeObject(Boolean.valueOf(isNew)); + stream.writeObject(Boolean.valueOf(isValid)); + stream.writeObject(Long.valueOf(thisAccessedTime)); stream.writeObject(id); if (manager.getContainer().getLogger().isDebugEnabled()) manager.getContainer().getLogger().debug @@ -1589,7 +1589,7 @@ public class StandardSession // Serialize the attribute count and the Serializable attributes int n = saveNames.size(); - stream.writeObject(new Integer(n)); + stream.writeObject(Integer.valueOf(n)); for (int i = 0; i < n; i++) { stream.writeObject(saveNames.get(i)); try { Modified: tomcat/trunk/java/org/apache/catalina/startup/TldConfig.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/TldConfig.java?rev=937309&r1=937308&r2=937309&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/startup/TldConfig.java (original) +++ tomcat/trunk/java/org/apache/catalina/startup/TldConfig.java Fri Apr 23 14:23:45 2010 @@ -66,7 +66,7 @@ public final class TldConfig implements private static final String WEB_INF_LIB = "/WEB-INF/lib/"; // Names of JARs that are known not to contain any TLDs - private static Set<String> noTldJars = null; + private static volatile Set<String> noTldJars = null; private static final org.apache.juli.logging.Log log= org.apache.juli.logging.LogFactory.getLog( TldConfig.class ); Modified: tomcat/trunk/java/org/apache/catalina/util/ExtensionValidator.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/util/ExtensionValidator.java?rev=937309&r1=937308&r2=937309&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/util/ExtensionValidator.java (original) +++ tomcat/trunk/java/org/apache/catalina/util/ExtensionValidator.java Fri Apr 23 14:23:45 2010 @@ -62,7 +62,8 @@ public final class ExtensionValidator { private static final StringManager sm = StringManager.getManager("org.apache.catalina.util"); - private static ArrayList<Extension> containerAvailableExtensions = null; + private static volatile ArrayList<Extension> containerAvailableExtensions = + null; private static ArrayList<ManifestResource> containerManifestResources = new ArrayList<ManifestResource>(); Modified: tomcat/trunk/java/org/apache/tomcat/util/modeler/modules/MbeansDescriptorsDigesterSource.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/modeler/modules/MbeansDescriptorsDigesterSource.java?rev=937309&r1=937308&r2=937309&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/modeler/modules/MbeansDescriptorsDigesterSource.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/modeler/modules/MbeansDescriptorsDigesterSource.java Fri Apr 23 14:23:45 2010 @@ -42,7 +42,7 @@ public class MbeansDescriptorsDigesterSo String type; Object source; List<ObjectName> mbeans = new ArrayList<ObjectName>(); - protected static Digester digester = null; + protected static volatile Digester digester = null; protected static Digester createDigester(Registry registry) { --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org