[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