User: sylvain 
  Date: 00/05/18 12:31:36

  Modified:    src/java/org/ejboss/container ContainerMetaData.java
  Log:
  Bug Fix:
  We now have a unique ClassLoader per JAR.
  There were problems with reactivation of passivated beans because each container of 
the same JAR had classloaders which had the same visibility and the same loaded 
classes, but were different.
  
  Revision  Changes    Path
  1.17      +15 -2     ejboss/src/java/org/ejboss/container/ContainerMetaData.java
  
  Index: ContainerMetaData.java
  ===================================================================
  RCS file: 
/products/cvs/ejboss/ejboss/src/java/org/ejboss/container/ContainerMetaData.java,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- ContainerMetaData.java    2000/04/21 22:43:08     1.16
  +++ ContainerMetaData.java    2000/05/18 19:31:36     1.17
  @@ -189,6 +189,12 @@
       private boolean EJBReferencesInitialized = false;
   
   
  +    /* 
  +    * We want only one ClassLoader per URL (JAR)
  +    *
  +    */
  +    private static Map URLtoClassLoaderMap = Collections.synchronizedMap(new 
HashMap());
  +    
   /******************************************************************************/
   /******************************************************************************/
   /*
  @@ -283,8 +289,15 @@
   
               // we pass the system class loader for default loading outside the jars
   
  -            classLoader = new URLClassLoader(jars, 
this.getClass().getClassLoader());
  -
  +            if( URLtoClassLoaderMap.containsKey(jars[0]) )
  +            {
  +                classLoader = (URLClassLoader)URLtoClassLoaderMap.get(jars[0]);
  +            }
  +            else
  +            {
  +                classLoader = new URLClassLoader(jars, 
this.getClass().getClassLoader());
  +                URLtoClassLoaderMap.put(jars[0], classLoader);
  +            }
               // Container specific classes
   
               String
  
  
  

Reply via email to