User: fleury  
  Date: 00/05/31 12:04:53

  Modified:    src/main/org/jboss/ejb StatefulSessionContainer.java
  Log:
  The Stateful Container
  
  Revision  Changes    Path
  1.4       +91 -3     jboss/src/main/org/jboss/ejb/StatefulSessionContainer.java
  
  Index: StatefulSessionContainer.java
  ===================================================================
  RCS file: 
/products/cvs/ejboss/jboss/src/main/org/jboss/ejb/StatefulSessionContainer.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- StatefulSessionContainer.java     2000/05/30 18:32:16     1.3
  +++ StatefulSessionContainer.java     2000/05/31 19:04:53     1.4
  @@ -31,7 +31,7 @@
    *      
    *   @see <related>
    *   @author Rickard �berg ([EMAIL PROTECTED])
  - *   @version $Revision: 1.3 $
  + *   @version $Revision: 1.4 $
    */
   public class StatefulSessionContainer
      extends Container
  @@ -93,12 +93,100 @@
      }
      
      // Container implementation --------------------------------------
  -   public void start()
  +   public void init()
         throws Exception
      {
  -      super.start();
  +       // Associate thread with classloader
  +      ClassLoader oldCl = Thread.currentThread().getContextClassLoader();
  +      Thread.currentThread().setContextClassLoader(getClassLoader());
  +      
  +       // Call default init
  +      super.init();
  +      
  +      // Init container invoker
  +      containerInvoker.init();
  +       
  +       // Init instance cache
  +      instanceCache.init();
  +             
  +      // Init persistence
  +      persistenceManager.init();
  +     
         setupBeanMapping();
         setupHomeMapping();
  +      
  +      // Reset classloader  
  +      Thread.currentThread().setContextClassLoader(oldCl);
  +   }
  +   
  +   public void start()
  +      throws Exception
  +   {
  +       // Associate thread with classloader
  +      ClassLoader oldCl = Thread.currentThread().getContextClassLoader();
  +      Thread.currentThread().setContextClassLoader(getClassLoader());
  +      
  +       // Call default start
  +      super.start();
  +      
  +      // Start container invoker
  +      containerInvoker.start();
  +      
  +      // Start instance cache
  +      instanceCache.start();
  +      
  +      // Start persistence
  +      persistenceManager.start();
  +      
  +             // Reset classloader
  +      Thread.currentThread().setContextClassLoader(oldCl);
  +     // super.start();
  +     // setupBeanMapping();
  +     // setupHomeMapping();
  +   }
  +   
  +     public void stop() {
  +             
  +             // Associate thread with classloader
  +             ClassLoader oldCl = Thread.currentThread().getContextClassLoader();
  +             Thread.currentThread().setContextClassLoader(getClassLoader());
  +             
  +             // Call default stop
  +             super.stop();
  +             
  +             // Stop container invoker
  +             containerInvoker.stop();
  +        
  +             // Stop instance cache
  +             instanceCache.stop();
  +        
  +             // Stop persistence
  +             persistenceManager.stop();
  +        
  +             // Reset classloader
  +             Thread.currentThread().setContextClassLoader(oldCl);
  +   }
  +   
  +    public void destroy()
  +   {
  +        // Associate thread with classloader
  +        ClassLoader oldCl = Thread.currentThread().getContextClassLoader();
  +        Thread.currentThread().setContextClassLoader(getClassLoader());
  +        
  +        // Call default destroy
  +        super.destroy();
  +        
  +        // Destroy container invoker
  +        containerInvoker.destroy();
  +        
  +        // Destroy instance cache
  +        instanceCache.destroy();
  +        
  +        // Destroy persistence
  +        persistenceManager.destroy();
  +        
  +        // Reset classloader
  +        Thread.currentThread().setContextClassLoader(oldCl);
      }
      
      public Object invokeHome(Method method, Object[] args)
  
  
  

Reply via email to