[jboss-cvs] JBossAS SVN: r78776 - in trunk/server/src/main/org/jboss: proxy/ejb and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Sep 23 04:18:04 EDT 2008


Author: emuckenhuber
Date: 2008-09-23 04:18:04 -0400 (Tue, 23 Sep 2008)
New Revision: 78776

Modified:
   trunk/server/src/main/org/jboss/ejb/EjbModule.java
   trunk/server/src/main/org/jboss/ejb/MessageDrivenContainer.java
   trunk/server/src/main/org/jboss/proxy/ejb/ProxyFactory.java
Log:
[JBAS-5332] mdb lifecycle and proxy factories

Modified: trunk/server/src/main/org/jboss/ejb/EjbModule.java
===================================================================
--- trunk/server/src/main/org/jboss/ejb/EjbModule.java	2008-09-23 07:16:08 UTC (rev 78775)
+++ trunk/server/src/main/org/jboss/ejb/EjbModule.java	2008-09-23 08:18:04 UTC (rev 78776)
@@ -559,7 +559,7 @@
                                                    webServiceName);
       }
       ListIterator iter = containerOrdering.listIterator(containerOrdering.size());
-      // Unegister the permissions with the JACC layer
+      // Unregister the permissions with the JACC layer
       String contextID = appMetaData.getJaccContextID(); 
       //Unregister any xacml policies
       if(this.policyRegistration != null)
@@ -616,7 +616,26 @@
             } // end of try-catch
         }
 
-
+         // Destroy proxy factories
+         if( destroyContainer )
+         {
+            if(con.getBeanMetaData() != null && con.getBeanMetaData().getInvokerBindings() != null)
+            {
+               Iterator<String> invokerBindings = con.getBeanMetaData().getInvokerBindings();
+               while(invokerBindings.hasNext())
+               {
+                  String invoker = (String) invokerBindings.next();
+                  EJBProxyFactory ci = con.lookupProxyFactory(invoker);
+                  if(ci != null)
+                  {
+                     ci.setContainer(null);
+                     ci.setInvokerBinding(null);
+                     ci.setInvokerMetaData(null);
+                  }
+               }  
+            }
+         }
+         
          // cleanup container
          con.setBeanMetaData(null);
          con.setWebClassLoader(null);
@@ -1261,7 +1280,7 @@
       {
          throw new DeploymentException("Missing or invalid Instance Cache (in jboss.xml or standardjboss.xml)", e);
       }
-
+      
       if (ic instanceof XmlLoadable)
          ((XmlLoadable) ic).importXml(conf.getContainerCacheConf());
 

Modified: trunk/server/src/main/org/jboss/ejb/MessageDrivenContainer.java
===================================================================
--- trunk/server/src/main/org/jboss/ejb/MessageDrivenContainer.java	2008-09-23 07:16:08 UTC (rev 78775)
+++ trunk/server/src/main/org/jboss/ejb/MessageDrivenContainer.java	2008-09-23 08:18:04 UTC (rev 78776)
@@ -88,7 +88,6 @@
          throw new NullArgumentException("instancePool");
 
       this.instancePool = instancePool;
-      this.instancePool.setContainer(this);
    }
 
    public InstancePool getInstancePool()
@@ -206,6 +205,7 @@
             log.debug("Failed to register pool as mbean", t);
          }
          // Initialize pool
+         instancePool.setContainer(this);
          instancePool.create();
 
          for (Iterator it = proxyFactories.keySet().iterator(); it.hasNext();)
@@ -340,7 +340,6 @@
             String invokerBinding = (String) it.next();
             EJBProxyFactory ci = (EJBProxyFactory) proxyFactories.get(invokerBinding);
             ci.destroy();
-            ci.setContainer(null);
             try
             {
                ObjectName containerName = super.getJmxName();

Modified: trunk/server/src/main/org/jboss/proxy/ejb/ProxyFactory.java
===================================================================
--- trunk/server/src/main/org/jboss/proxy/ejb/ProxyFactory.java	2008-09-23 07:16:08 UTC (rev 78775)
+++ trunk/server/src/main/org/jboss/proxy/ejb/ProxyFactory.java	2008-09-23 08:18:04 UTC (rev 78776)
@@ -525,13 +525,11 @@
          listEntityInterceptorClasses.clear();
       }
 
-      container = null;
       ejbMetaData = null;
       home = null;
       statelessObject = null;
       beanInvoker = null;
       homeInvoker = null;
-      invokerMetaData = null;
       proxyClassConstructor = null;
    }
 




More information about the jboss-cvs-commits mailing list