[jboss-cvs] JBossAS SVN: r58699 - in projects/microcontainer/trunk: dependency/src/main/org/jboss/dependency/plugins dependency/src/main/org/jboss/dependency/spi kernel/src/main/org/jboss/kernel/plugins/registry
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Nov 28 07:30:25 EST 2006
Author: adrian at jboss.org
Date: 2006-11-28 07:30:18 -0500 (Tue, 28 Nov 2006)
New Revision: 58699
Modified:
projects/microcontainer/trunk/dependency/src/main/org/jboss/dependency/plugins/AbstractController.java
projects/microcontainer/trunk/dependency/src/main/org/jboss/dependency/plugins/AbstractControllerContext.java
projects/microcontainer/trunk/dependency/src/main/org/jboss/dependency/spi/ControllerContext.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/registry/AbstractKernelRegistryEntry.java
Log:
[JBMICROCONT-112] - Fix infinite loop on internal error
[JBMICROCONT-111] - Update context state inside the controller's internal lock
Modified: projects/microcontainer/trunk/dependency/src/main/org/jboss/dependency/plugins/AbstractController.java
===================================================================
--- projects/microcontainer/trunk/dependency/src/main/org/jboss/dependency/plugins/AbstractController.java 2006-11-28 00:49:09 UTC (rev 58698)
+++ projects/microcontainer/trunk/dependency/src/main/org/jboss/dependency/plugins/AbstractController.java 2006-11-28 12:30:18 UTC (rev 58699)
@@ -409,6 +409,7 @@
}
Set<ControllerContext> notInstalled = contextsByState.get(ControllerState.NOT_INSTALLED);
notInstalled.add(context);
+ context.setState(ControllerState.NOT_INSTALLED);
}
else
{
@@ -448,6 +449,7 @@
if (fromContexts != null)
fromContexts.remove(context);
toContexts.add(context);
+ context.setState(toState);
return true;
}
@@ -634,10 +636,7 @@
Set<ControllerContext> fromContexts = contextsByState.get(fromState);
if (fromContexts == null || fromContexts.remove(context) == false)
- {
- log.error("INTERNAL ERROR: context not found in previous state " + fromState.getStateString() + " context=" + context.toShortString(), new Exception("STACKTRACE"));
- return;
- }
+ throw new Error("INTERNAL ERROR: context not found in previous state " + fromState.getStateString() + " context=" + context.toShortString(), new Exception("STACKTRACE"));
DependencyInfo dependencies = context.getDependencyInfo();
Set dependsOnMe = dependencies.getDependsOnMe(null);
@@ -678,6 +677,7 @@
ControllerState toState = states.get(toIndex);
Set<ControllerContext> toContexts = contextsByState.get(toState);
toContexts.add(context);
+ context.setState(toState);
unlockWrite();
try
Modified: projects/microcontainer/trunk/dependency/src/main/org/jboss/dependency/plugins/AbstractControllerContext.java
===================================================================
--- projects/microcontainer/trunk/dependency/src/main/org/jboss/dependency/plugins/AbstractControllerContext.java 2006-11-28 00:49:09 UTC (rev 58698)
+++ projects/microcontainer/trunk/dependency/src/main/org/jboss/dependency/plugins/AbstractControllerContext.java 2006-11-28 12:30:18 UTC (rev 58699)
@@ -220,18 +220,22 @@
flushJBossObjectCache();
}
+ public void setState(ControllerState state)
+ {
+ this.state = state;
+ flushJBossObjectCache();
+ }
+
public void install(ControllerState fromState, ControllerState toState) throws Throwable
{
this.error = null;
+ flushJBossObjectCache();
actions.install(this, fromState, toState);
- this.state = toState;
- flushJBossObjectCache();
}
public void uninstall(ControllerState fromState, ControllerState toState)
{
this.error = null;
- this.state = toState;
flushJBossObjectCache();
actions.uninstall(this, fromState, toState);
}
Modified: projects/microcontainer/trunk/dependency/src/main/org/jboss/dependency/spi/ControllerContext.java
===================================================================
--- projects/microcontainer/trunk/dependency/src/main/org/jboss/dependency/spi/ControllerContext.java 2006-11-28 00:49:09 UTC (rev 58698)
+++ projects/microcontainer/trunk/dependency/src/main/org/jboss/dependency/spi/ControllerContext.java 2006-11-28 12:30:18 UTC (rev 58699)
@@ -89,6 +89,13 @@
* @return the state
*/
ControllerState getState();
+
+ /**
+ * Set the state
+ *
+ * @param state the state
+ */
+ void setState(ControllerState state);
/**
* Get the required state
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/registry/AbstractKernelRegistryEntry.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/registry/AbstractKernelRegistryEntry.java 2006-11-28 00:49:09 UTC (rev 58698)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/registry/AbstractKernelRegistryEntry.java 2006-11-28 12:30:18 UTC (rev 58699)
@@ -103,6 +103,11 @@
{
return ControllerState.ERROR;
}
+
+ public void setState(ControllerState state)
+ {
+ throw new org.jboss.util.NotImplementedException("setState");
+ }
public ControllerState getRequiredState()
{
More information about the jboss-cvs-commits
mailing list