You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by ke...@apache.org on 2007/12/07 22:35:06 UTC

svn commit: r602234 - /geronimo/server/trunk/framework/modules/geronimo-transformer/src/main/java/org/apache/geronimo/transformer/TransformerCollection.java

Author: kevan
Date: Fri Dec  7 13:35:04 2007
New Revision: 602234

URL: http://svn.apache.org/viewvc?rev=602234&view=rev
Log:
GERONIMO-3687 Force load of ArrayList class. This avoids a potential Classloader deadlock during startup

Modified:
    geronimo/server/trunk/framework/modules/geronimo-transformer/src/main/java/org/apache/geronimo/transformer/TransformerCollection.java

Modified: geronimo/server/trunk/framework/modules/geronimo-transformer/src/main/java/org/apache/geronimo/transformer/TransformerCollection.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-transformer/src/main/java/org/apache/geronimo/transformer/TransformerCollection.java?rev=602234&r1=602233&r2=602234&view=diff
==============================================================================
--- geronimo/server/trunk/framework/modules/geronimo-transformer/src/main/java/org/apache/geronimo/transformer/TransformerCollection.java (original)
+++ geronimo/server/trunk/framework/modules/geronimo-transformer/src/main/java/org/apache/geronimo/transformer/TransformerCollection.java Fri Dec  7 13:35:04 2007
@@ -30,6 +30,12 @@
 
     private final List<ClassFileTransformer> transformers = new ArrayList<ClassFileTransformer>();
 
+    // hack to force load of ArrayList$Itr class. This avoids a potential Classloader deadlock during startup
+    // see GERONIMO-3687
+    {
+        transformers.iterator();
+    }
+
     public byte[] transform(ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws IllegalClassFormatException {
         boolean changed = false;
         for (ClassFileTransformer transformer : transformers) {