User: starksm 
  Date: 02/04/12 12:30:42

  Modified:    src/main/org/jboss/ejb/plugins AbstractInstancePool.java
                        BMPPersistenceManager.java
                        CMPPersistenceManager.java EntityInstanceCache.java
                        MetricsInterceptor.java SecurityInterceptor.java
                        SecurityProxyInterceptor.java
                        TimedInstancePoolFeeder.java
  Log:
  Start cleaning up the web of container references in destroy so that
  the container may be garbage collected.
  
  Revision  Changes    Path
  1.26      +19 -21    jboss/src/main/org/jboss/ejb/plugins/AbstractInstancePool.java
  
  Index: AbstractInstancePool.java
  ===================================================================
  RCS file: 
/cvsroot/jboss/jboss/src/main/org/jboss/ejb/plugins/AbstractInstancePool.java,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -u -r1.25 -r1.26
  --- AbstractInstancePool.java 3 Mar 2002 18:23:08 -0000       1.25
  +++ AbstractInstancePool.java 12 Apr 2002 19:30:42 -0000      1.26
  @@ -40,7 +40,7 @@
    *  @author <a href="mailto:[EMAIL PROTECTED]";>Andreas Schaefer</a>
    *  @author <a href="mailto:[EMAIL PROTECTED]";>Sacha Labourey</a>
    *
  - *  @version $Revision: 1.25 $
  + *  @version $Revision: 1.26 $
    *
    *  <p><b>Revisions:</b>
    *  <p><b>20010704 marcf:</b>
  @@ -136,6 +136,7 @@
      public void destroy()
      {
        freeAll();
  +     this.container = null;
      }
   
      /**
  @@ -190,30 +191,27 @@
         }
         //pool is empty
         // The Pool feeder should avoid this
  -      
  +      if (useFeeder && poolFeeder.isStarted() && log.isDebugEnabled())
         {
  -         if (useFeeder && poolFeeder.isStarted() && log.isDebugEnabled())
  -         {
  -            log.debug("The Pool for " + container.getBeanClass().getName()
  -               + " has been overloaded.  You should change pool parameters.");
  -         }
  -         try
  +         log.debug("The Pool for " + container.getBeanClass().getName()
  +            + " has been overloaded.  You should change pool parameters.");
  +      }
  +      try
  +      {
  +         synchronized (this)
            {
  -            synchronized (this)
  +            if (useFeeder && ! poolFeeder.isStarted())
               {
  -               if (useFeeder && ! poolFeeder.isStarted())
  -               {
  -                  poolFeeder.start();
  -               }
  +               poolFeeder.start();
               }
  -            return create(container.createBeanClassInstance());
  -         } catch (InstantiationException e)
  -         {
  -            throw new ServerException("Could not instantiate bean", e);
  -         } catch (IllegalAccessException e)
  -         {
  -            throw new ServerException("Could not instantiate bean", e);
            }
  +         return create(container.createBeanClassInstance());
  +      } catch (InstantiationException e)
  +      {
  +         throw new ServerException("Could not instantiate bean", e);
  +      } catch (IllegalAccessException e)
  +      {
  +         throw new ServerException("Could not instantiate bean", e);
         }
      }
   
  @@ -363,9 +361,9 @@
            ec.clear();
            discard(ec);
         }
  +      pool.clear();
      }
   
      // Inner classes -------------------------------------------------
   
   }
  -
  
  
  
  1.39      +6 -3      jboss/src/main/org/jboss/ejb/plugins/BMPPersistenceManager.java
  
  Index: BMPPersistenceManager.java
  ===================================================================
  RCS file: 
/cvsroot/jboss/jboss/src/main/org/jboss/ejb/plugins/BMPPersistenceManager.java,v
  retrieving revision 1.38
  retrieving revision 1.39
  diff -u -r1.38 -r1.39
  --- BMPPersistenceManager.java        24 Mar 2002 21:49:45 -0000      1.38
  +++ BMPPersistenceManager.java        12 Apr 2002 19:30:42 -0000      1.39
  @@ -41,7 +41,7 @@
   *  @author <a href="mailto:[EMAIL PROTECTED]";>Rickard �berg</a>
   *  @author <a href="mailto:[EMAIL PROTECTED]";>Marc Fleury</a>
   *  @author <a href="mailto:[EMAIL PROTECTED]";>Andreas Schaefer</a>
  -*  @version $Revision: 1.38 $
  +*  @version $Revision: 1.39 $
   *
   *  <p><b>Revisions:</b>
   *  <p><b>20010709 andreas schaefer:</b>
  @@ -94,8 +94,11 @@
      public void setContainer(Container c)
      {
         con = (EntityContainer)c;
  -      ConfigurationMetaData configuration = 
con.getBeanMetaData().getContainerConfiguration();
  -      commitOption = configuration.getCommitOption();
  +      if( con != null )
  +      {
  +         ConfigurationMetaData configuration = 
con.getBeanMetaData().getContainerConfiguration();
  +         commitOption = configuration.getCommitOption();
  +      }
      }
   
      public void create()
  
  
  
  1.41      +6 -3      jboss/src/main/org/jboss/ejb/plugins/CMPPersistenceManager.java
  
  Index: CMPPersistenceManager.java
  ===================================================================
  RCS file: 
/cvsroot/jboss/jboss/src/main/org/jboss/ejb/plugins/CMPPersistenceManager.java,v
  retrieving revision 1.40
  retrieving revision 1.41
  diff -u -r1.40 -r1.41
  --- CMPPersistenceManager.java        15 Mar 2002 22:58:54 -0000      1.40
  +++ CMPPersistenceManager.java        12 Apr 2002 19:30:42 -0000      1.41
  @@ -46,7 +46,7 @@
    * @author <a href="mailto:[EMAIL PROTECTED]";>Dan Christopherson</a>
    * @author <a href="mailto:[EMAIL PROTECTED]";>Bill Burke</a>
    * @author <a href="mailto:[EMAIL PROTECTED]";>Andreas Schaefer</a>
  - * @version $Revision: 1.40 $
  + * @version $Revision: 1.41 $
    *
    * Revisions:
    * 20010621 Bill Burke: removed loadEntities call because CMP read-ahead is now
  @@ -94,8 +94,11 @@
         con = (EntityContainer)c;
         if (store != null)
            store.setContainer(c);
  -      ConfigurationMetaData configuration = 
con.getBeanMetaData().getContainerConfiguration();
  -      commitOption = configuration.getCommitOption();
  +      if( con != null )
  +      {
  +         ConfigurationMetaData configuration = 
con.getBeanMetaData().getContainerConfiguration();
  +         commitOption = configuration.getCommitOption();
  +      }
      }
   
      /**
  
  
  
  1.15      +13 -6     jboss/src/main/org/jboss/ejb/plugins/EntityInstanceCache.java
  
  Index: EntityInstanceCache.java
  ===================================================================
  RCS file: 
/cvsroot/jboss/jboss/src/main/org/jboss/ejb/plugins/EntityInstanceCache.java,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- EntityInstanceCache.java  8 Mar 2002 08:12:45 -0000       1.14
  +++ EntityInstanceCache.java  12 Apr 2002 19:30:42 -0000      1.15
  @@ -20,7 +20,7 @@
    * 
    * @author <a href="mailto:[EMAIL PROTECTED]";>Simone Bordet</a>
    * @author <a href="[EMAIL PROTECTED]">Bill Burke</a>
  - * @version $Revision: 1.14 $
  + * @version $Revision: 1.15 $
    *
    * <p><b>Revisions:</b>
    * <p><b>2001/01/29: billb</b>
  @@ -44,14 +44,16 @@
   
        // Public --------------------------------------------------------
   
  -    public int getCacheSize() {
  -     return getCache().size();
  +    public int getCacheSize()
  +    {
  +      return getCache().size();
       }
   
  -    public void flush() {
  -     getCache().flush();
  +    public void flush()
  +    {
  +      getCache().flush();
       }
  -     
  +
        /* From ContainerPlugin interface */
        public void setContainer(Container c) 
        {
  @@ -76,6 +78,11 @@
        {
                super.remove(id);
        }
  +
  +   public void destroy()
  +   {
  +      this.m_container = null;
  +   }
   
        protected Object getKey(EnterpriseContext ctx) 
        {
  
  
  
  1.16      +7 -4      jboss/src/main/org/jboss/ejb/plugins/MetricsInterceptor.java
  
  Index: MetricsInterceptor.java
  ===================================================================
  RCS file: 
/cvsroot/jboss/jboss/src/main/org/jboss/ejb/plugins/MetricsInterceptor.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- MetricsInterceptor.java   22 Feb 2002 04:24:55 -0000      1.15
  +++ MetricsInterceptor.java   12 Apr 2002 19:30:42 -0000      1.16
  @@ -78,11 +78,14 @@
        *
        * @param   container   set by the container initialization code
        */
  -    public void setContainer(Container container) {
  +    public void setContainer(Container container)
  +    {
           this.container  = container;
  -        
  -        applicationName = container.getEjbModule().getName();
  -        beanName        = container.getBeanMetaData().getJndiName();
  +        if( container != null )
  +        {
  +           applicationName = container.getEjbModule().getName();
  +           beanName = container.getBeanMetaData().getJndiName();
  +        }
       }
       
       /**
  
  
  
  1.29      +11 -9     jboss/src/main/org/jboss/ejb/plugins/SecurityInterceptor.java
  
  Index: SecurityInterceptor.java
  ===================================================================
  RCS file: 
/cvsroot/jboss/jboss/src/main/org/jboss/ejb/plugins/SecurityInterceptor.java,v
  retrieving revision 1.28
  retrieving revision 1.29
  diff -u -r1.28 -r1.29
  --- SecurityInterceptor.java  19 Dec 2001 05:42:31 -0000      1.28
  +++ SecurityInterceptor.java  12 Apr 2002 19:30:42 -0000      1.29
  @@ -27,7 +27,7 @@
   
   @author <a href="[EMAIL PROTECTED]">Oleg Nitz</a>
   @author <a href="mailto:[EMAIL PROTECTED]";>Scott Stark</a>.
  -@version $Revision: 1.28 $
  +@version $Revision: 1.29 $
   */
   public class SecurityInterceptor extends AbstractInterceptor
   {
  @@ -62,16 +62,18 @@
       public void setContainer(Container container)
       {
           this.container = container;
  -        BeanMetaData beanMetaData = container.getBeanMetaData();
  -        SecurityIdentityMetaData secMetaData = 
beanMetaData.getSecurityIdentityMetaData();
  -        if( secMetaData != null && secMetaData.getUseCallerIdentity() == false )
  +        if( container != null )
           {
  -            String roleName = secMetaData.getRunAsRoleName();
  -            runAsRole = new SimplePrincipal(roleName);
  +           BeanMetaData beanMetaData = container.getBeanMetaData();
  +           SecurityIdentityMetaData secMetaData = 
beanMetaData.getSecurityIdentityMetaData();
  +           if( secMetaData != null && secMetaData.getUseCallerIdentity() == false )
  +           {
  +               String roleName = secMetaData.getRunAsRoleName();
  +               runAsRole = new SimplePrincipal(roleName);
  +           }
  +           securityManager = container.getSecurityManager();
  +           realmMapping = container.getRealmMapping();
           }
  -        securityManager = container.getSecurityManager();
  -        realmMapping = container.getRealmMapping();
  -        
       }
   
       public Container getContainer()
  
  
  
  1.12      +37 -34    
jboss/src/main/org/jboss/ejb/plugins/SecurityProxyInterceptor.java
  
  Index: SecurityProxyInterceptor.java
  ===================================================================
  RCS file: 
/cvsroot/jboss/jboss/src/main/org/jboss/ejb/plugins/SecurityProxyInterceptor.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- SecurityProxyInterceptor.java     9 Feb 2002 16:09:23 -0000       1.11
  +++ SecurityProxyInterceptor.java     12 Apr 2002 19:30:42 -0000      1.12
  @@ -29,7 +29,7 @@
    * interceptor has access to the EJB instance and context.
    * 
    * @author <a href="mailto:[EMAIL PROTECTED]";>Scott Stark</a>.
  - * @version $Revision: 1.11 $
  + * @version $Revision: 1.12 $
    */
   public class SecurityProxyInterceptor
      extends AbstractInterceptor
  @@ -67,47 +67,50 @@
      public void setContainer(Container container)
      {
         this.container = container;
  -      securityManager = container.getSecurityManager();
  -      Object secProxy = container.getSecurityProxy();
  -      if( secProxy != null )
  +      if( container != null )
         {
  -         // If this is not a SecurityProxy instance then use the default
  -         // SecurityProxy implementation
  -         if( (secProxy instanceof SecurityProxy) == false )
  +         securityManager = container.getSecurityManager();
  +         Object secProxy = container.getSecurityProxy();
  +         if( secProxy != null )
            {
  -            try
  +            // If this is not a SecurityProxy instance then use the default
  +            // SecurityProxy implementation
  +            if( (secProxy instanceof SecurityProxy) == false )
               {
  -               // Get default SecurityProxyFactory from JNDI at
  -               InitialContext iniCtx = new InitialContext();
  -               SecurityProxyFactory proxyFactory =
  -                  (SecurityProxyFactory)iniCtx.lookup(SECURITY_PROXY_FACTORY_NAME);
  -               securityProxy = proxyFactory.create(secProxy);
  +               try
  +               {
  +                  // Get default SecurityProxyFactory from JNDI at
  +                  InitialContext iniCtx = new InitialContext();
  +                  SecurityProxyFactory proxyFactory =
  +                     
(SecurityProxyFactory)iniCtx.lookup(SECURITY_PROXY_FACTORY_NAME);
  +                  securityProxy = proxyFactory.create(secProxy);
  +               }
  +               catch (Exception e)
  +               {
  +                  log.error("Failed to initialze DefaultSecurityProxy", e);
  +               }
               }
  -            catch (Exception e)
  +            else
               {
  -               log.error("Failed to initialze DefaultSecurityProxy", e);
  +               securityProxy = (SecurityProxy) secProxy;
               }
  -         }
  -         else
  -         {
  -            securityProxy = (SecurityProxy) secProxy;
  -         }
   
  -         // Initialize the securityProxy
  -         try
  -         {
  -            ContainerInvokerContainer ic =
  -               (ContainerInvokerContainer)container;
  -            Class beanHome = ic.getHomeClass();
  -            Class beanRemote = ic.getRemoteClass();
  -            securityProxy.init(beanHome, beanRemote, securityManager);
  -         }
  -         catch(Exception e)
  -         {
  -            log.error("Failed to initialze SecurityProxy", e);
  +            // Initialize the securityProxy
  +            try
  +            {
  +               ContainerInvokerContainer ic =
  +                  (ContainerInvokerContainer)container;
  +               Class beanHome = ic.getHomeClass();
  +               Class beanRemote = ic.getRemoteClass();
  +               securityProxy.init(beanHome, beanRemote, securityManager);
  +            }
  +            catch(Exception e)
  +            {
  +               log.error("Failed to initialze SecurityProxy", e);
  +            }
  +            if (log.isInfoEnabled())
  +               log.info("Initialized SecurityProxy=" + securityProxy);
            }
  -         if (log.isInfoEnabled())
  -            log.info("Initialized SecurityProxy=" + securityProxy);
         }
      }
   
  
  
  
  1.5       +1 -0      
jboss/src/main/org/jboss/ejb/plugins/TimedInstancePoolFeeder.java
  
  Index: TimedInstancePoolFeeder.java
  ===================================================================
  RCS file: 
/cvsroot/jboss/jboss/src/main/org/jboss/ejb/plugins/TimedInstancePoolFeeder.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- TimedInstancePoolFeeder.java      3 Mar 2002 18:23:08 -0000       1.4
  +++ TimedInstancePoolFeeder.java      12 Apr 2002 19:30:42 -0000      1.5
  @@ -77,6 +77,7 @@
         if (timer != null)
         {
            timer.cancel();
  +         timer = null;
         }
      }
   
  
  
  

_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to