[jboss-cvs] JBossAS SVN: r62170 - in trunk: server/src/etc/conf/default and 1 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Apr 6 15:42:23 EDT 2007
Author: scott.stark at jboss.org
Date: 2007-04-06 15:42:23 -0400 (Fri, 06 Apr 2007)
New Revision: 62170
Modified:
trunk/profileservice/src/resources/profileservice-beans.xml
trunk/server/src/etc/conf/default/bootstrap-beans.xml
trunk/system/src/main/org/jboss/system/server/profileservice/hotdeploy/HDScanner.java
Log:
Check for incomplete deployments after each scan
Modified: trunk/profileservice/src/resources/profileservice-beans.xml
===================================================================
--- trunk/profileservice/src/resources/profileservice-beans.xml 2007-04-06 19:37:37 UTC (rev 62169)
+++ trunk/profileservice/src/resources/profileservice-beans.xml 2007-04-06 19:42:23 UTC (rev 62170)
@@ -170,6 +170,13 @@
<bean name="HDScanner"
class="org.jboss.system.server.profileservice.hotdeploy.HDScanner">
<property name="mainDeployer"><inject bean="MainDeployer"/></property>
+ <!-- Workaround for JBMICROCONT-176
+ -->
+ <property name="kernel"><inject bean="jboss.kernel:service=Kernel"/></property>
+ <!-- Broken due to JBMICROCONT-176
+ <property name="controller"><inject bean="jboss.kernel:service=Kernel" property="controller"/></property>
+ -->
+
<property name="profileService"><inject bean="ProfileService"/></property>
<property name="scanPeriod">5000</property>
<property name="scanThreadName">HDScanner</property>
Modified: trunk/server/src/etc/conf/default/bootstrap-beans.xml
===================================================================
--- trunk/server/src/etc/conf/default/bootstrap-beans.xml 2007-04-06 19:37:37 UTC (rev 62169)
+++ trunk/server/src/etc/conf/default/bootstrap-beans.xml 2007-04-06 19:42:23 UTC (rev 62170)
@@ -230,6 +230,12 @@
<bean name="HDScanner"
class="org.jboss.system.server.profileservice.hotdeploy.HDScanner">
<property name="mainDeployer"><inject bean="MainDeployer"/></property>
+ <!-- Workaround for JBMICROCONT-176
+ -->
+ <property name="kernel"><inject bean="jboss.kernel:service=Kernel"/></property>
+ <!-- Broken due to JBMICROCONT-176
+ <property name="controller"><inject bean="jboss.kernel:service=Kernel" property="controller"/></property>
+ -->
<property name="profileService"><inject bean="ProfileService"/></property>
<property name="scanPeriod">5000</property>
<property name="scanThreadName">HDScanner</property>
Modified: trunk/system/src/main/org/jboss/system/server/profileservice/hotdeploy/HDScanner.java
===================================================================
--- trunk/system/src/main/org/jboss/system/server/profileservice/hotdeploy/HDScanner.java 2007-04-06 19:37:37 UTC (rev 62169)
+++ trunk/system/src/main/org/jboss/system/server/profileservice/hotdeploy/HDScanner.java 2007-04-06 19:42:23 UTC (rev 62170)
@@ -29,8 +29,14 @@
import java.util.concurrent.ThreadFactory;
import java.util.concurrent.TimeUnit;
+import org.jboss.deployers.spi.DeploymentException;
+import org.jboss.deployers.spi.IncompleteDeploymentException;
+import org.jboss.deployers.spi.IncompleteDeployments;
+import org.jboss.deployers.spi.IncompleteDeploymentsBuilder;
import org.jboss.deployers.spi.deployment.MainDeployer;
import org.jboss.deployers.spi.structure.DeploymentContext;
+import org.jboss.kernel.Kernel;
+import org.jboss.kernel.spi.dependency.KernelController;
import org.jboss.logging.Logger;
import org.jboss.profileservice.spi.ModificationInfo;
import org.jboss.profileservice.spi.Profile;
@@ -58,6 +64,10 @@
// Private Data --------------------------------------------------
/** The MainDeployer used to deploy modifications */
private MainDeployer mainDeployer;
+ private Kernel kernel;
+ /** The controller */
+ private KernelController controller;
+
/** The ProfileService used to determine modified deployments */
private ProfileService profileService;
@@ -86,6 +96,27 @@
this.mainDeployer = deployer;
}
+ public Kernel getKernel()
+ {
+ return kernel;
+ }
+
+ public void setKernel(Kernel kernel)
+ {
+ this.kernel = kernel;
+ this.controller = kernel.getController();
+ }
+
+ public KernelController getController()
+ {
+ return controller;
+ }
+
+ public void setController(KernelController controller)
+ {
+ this.controller = controller;
+ }
+
public ProfileService getProfileService()
{
return profileService;
@@ -269,6 +300,7 @@
{
Thread.currentThread().setContextClassLoader(tcl);
mainDeployer.process();
+ checkIncomplete();
}
finally
{
@@ -299,6 +331,22 @@
// Private -------------------------------------------------------
/**
+ * Check whether we are incomplete
+ * TODO: this should be elsewhere
+ *
+ * @throws DeploymentException the deployment exception
+ */
+ protected void checkIncomplete() throws DeploymentException
+ {
+ if( controller == null )
+ return;
+
+ IncompleteDeployments incomplete = IncompleteDeploymentsBuilder.build(mainDeployer, controller);
+ if (incomplete.isIncomplete())
+ throw new IncompleteDeploymentException(incomplete);
+ }
+
+ /**
* Current workaround for JBAS-4206
*/
private ClassLoader getTCL(Profile activeProfile)
More information about the jboss-cvs-commits
mailing list