[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