[jboss-cvs] JBossAS SVN: r100690 - projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/plugins.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Feb 8 04:12:20 EST 2010
Author: alesj
Date: 2010-02-08 04:12:20 -0500 (Mon, 08 Feb 2010)
New Revision: 100690
Modified:
projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/plugins/AbstractScopeInfo.java
Log:
[JBKERNEL-90]; only keep ref on the owning context.
Modified: projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/plugins/AbstractScopeInfo.java
===================================================================
--- projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/plugins/AbstractScopeInfo.java 2010-02-08 08:23:40 UTC (rev 100689)
+++ projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/plugins/AbstractScopeInfo.java 2010-02-08 09:12:20 UTC (rev 100690)
@@ -60,14 +60,14 @@
/** The install scope */
private ScopeKey installScope;
- /** The repository */
- private MutableMetaDataRepository repository;
-
/** The added scopes */
private CopyOnWriteArraySet<ScopeKey> addedScopes = new CopyOnWriteArraySet<ScopeKey>();
+ /** The repository */
+ private volatile MutableMetaDataRepository repository;
+
/** The owning context */
- private ControllerContext context;
+ private volatile ControllerContext context;
/**
* Create a new AbstractScopeInfo.
@@ -116,7 +116,7 @@
return null;
MetaData metaData = repository.getMetaData(getScope());
- if (metaData == null)
+ if (metaData == null && context != null)
{
initMetaDataRetrieval(repository, context);
metaData = repository.getMetaData(scopeKey);
@@ -127,8 +127,11 @@
public void addMetaData(MutableMetaDataRepository repository, ControllerContext context)
{
this.repository = repository;
- this.context = context;
+ // only keep ref on the owning context
+ if (context != null && context.getScopeInfo() == this)
+ this.context = context;
+
ScopeKey scope = getMutableScope();
MetaDataRetrieval retrieval = repository.getMetaDataRetrieval(scope);
MutableMetaDataLoader mutable;
@@ -189,7 +192,9 @@
}
addedScopes.clear();
- this.context = null;
+ if (context != null && context.getScopeInfo() == this)
+ this.context = null;
+
this.repository = null;
}
More information about the jboss-cvs-commits
mailing list