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:34:44 UTC

svn commit: r602233 - /geronimo/server/branches/2.0/modules/geronimo-transformer/src/main/java/org/apache/geronimo/transformer/TransformerCollection.java

Author: kevan
Date: Fri Dec  7 13:34:43 2007
New Revision: 602233

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

Modified:
    geronimo/server/branches/2.0/modules/geronimo-transformer/src/main/java/org/apache/geronimo/transformer/TransformerCollection.java

Modified: geronimo/server/branches/2.0/modules/geronimo-transformer/src/main/java/org/apache/geronimo/transformer/TransformerCollection.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0/modules/geronimo-transformer/src/main/java/org/apache/geronimo/transformer/TransformerCollection.java?rev=602233&r1=602232&r2=602233&view=diff
==============================================================================
--- geronimo/server/branches/2.0/modules/geronimo-transformer/src/main/java/org/apache/geronimo/transformer/TransformerCollection.java (original)
+++ geronimo/server/branches/2.0/modules/geronimo-transformer/src/main/java/org/apache/geronimo/transformer/TransformerCollection.java Fri Dec  7 13:34:43 2007
@@ -29,6 +29,12 @@
 public class TransformerCollection implements ClassFileTransformer {
 
     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;