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