[jboss-cvs] JBossAS SVN: r96757 - 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 Nov 23 15:29:30 EST 2009
Author: alesj
Date: 2009-11-23 15:29:30 -0500 (Mon, 23 Nov 2009)
New Revision: 96757
Modified:
projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/plugins/AbstractControllerContext.java
Log:
Fix the loop.
Modified: projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/plugins/AbstractControllerContext.java
===================================================================
--- projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/plugins/AbstractControllerContext.java 2009-11-23 20:09:09 UTC (rev 96756)
+++ projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/plugins/AbstractControllerContext.java 2009-11-23 20:29:30 UTC (rev 96757)
@@ -93,6 +93,9 @@
/** The context tracker */
private ContextTracker tracker;
+ /** the in use flag */
+ private boolean inUse;
+
/**
* Create a new AbstractControllerContext.
*
@@ -364,25 +367,33 @@
public ContextTracker getContextTracker()
{
- if (tracker == null)
+ if (tracker == null && inUse == false)
{
- MetaData metaData = scopeInfo.getMetaData();
- if (metaData != null)
+ inUse = true; // else we can go into loop
+ try
{
- ContextTracker ct = metaData.getMetaData(ContextTracker.class);
- if (ct == null)
+ MetaData metaData = scopeInfo.getMetaData();
+ if (metaData != null)
{
- List<ScopeLevel> levels = CommonLevelsUtil.getSubLevels(CommonLevels.SERVER);
- int instanceIndex = levels.indexOf(CommonLevels.INSTANCE);
- for (int i = instanceIndex; i >= 0 && ct == null; i--)
+ ContextTracker ct = metaData.getMetaData(ContextTracker.class);
+ if (ct == null)
{
- MetaData md = metaData.getScopeMetaData(levels.get(i));
- if (md != null)
- ct = md.getMetaData(ContextTracker.class);
+ List<ScopeLevel> levels = CommonLevelsUtil.getSubLevels(CommonLevels.SERVER);
+ int instanceIndex = levels.indexOf(CommonLevels.INSTANCE);
+ for (int i = instanceIndex; i >= 0 && ct == null; i--)
+ {
+ MetaData md = metaData.getScopeMetaData(levels.get(i));
+ if (md != null)
+ ct = md.getMetaData(ContextTracker.class);
+ }
}
+ tracker = ct; // should we care if it's still null?
}
- tracker = ct; // should we care if it's still null?
}
+ finally
+ {
+ inUse = false;
+ }
}
return tracker;
}
More information about the jboss-cvs-commits
mailing list