[jboss-cvs] JBossAS SVN: r62139 - branches/Branch_5_0/system/src/main/org/jboss/system/server/profileservice/hotdeploy.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Apr 5 13:36:56 EDT 2007
Author: scott.stark at jboss.org
Date: 2007-04-05 13:36:56 -0400 (Thu, 05 Apr 2007)
New Revision: 62139
Modified:
branches/Branch_5_0/system/src/main/org/jboss/system/server/profileservice/hotdeploy/HDScanner.java
Log:
Check for incomplete deployments after each scan
Modified: branches/Branch_5_0/system/src/main/org/jboss/system/server/profileservice/hotdeploy/HDScanner.java
===================================================================
--- branches/Branch_5_0/system/src/main/org/jboss/system/server/profileservice/hotdeploy/HDScanner.java 2007-04-05 16:50:45 UTC (rev 62138)
+++ branches/Branch_5_0/system/src/main/org/jboss/system/server/profileservice/hotdeploy/HDScanner.java 2007-04-05 17:36:56 UTC (rev 62139)
@@ -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