User: d_jencks
  Date: 02/02/25 21:15:02

  Modified:    src/main/org/jboss/system/server ServerImpl.java
  Log:
  Changed shutdown procedure to first undeploy all packages, then stop, destroy, and 
remove all remaining registered mbeans
  
  Revision  Changes    Path
  1.4       +47 -11    jboss-system/src/main/org/jboss/system/server/ServerImpl.java
  
  Index: ServerImpl.java
  ===================================================================
  RCS file: 
/cvsroot/jboss/jboss-system/src/main/org/jboss/system/server/ServerImpl.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- ServerImpl.java   26 Feb 2002 01:36:24 -0000      1.3
  +++ ServerImpl.java   26 Feb 2002 05:15:02 -0000      1.4
  @@ -44,7 +44,7 @@
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Marc Fleury</a>
    * @author <a href="mailto:[EMAIL PROTECTED]";>Jason Dillon</a>
  - * @version $Revision: 1.3 $
  + * @version $Revision: 1.4 $
    */
   public class ServerImpl
      implements ServerImplMBean
  @@ -251,6 +251,10 @@
            server.createMBean("org.jboss.system.ServiceController", null, 
loaderName).getObjectName();
         log.debug("Registered service controller: " + controllerName);
         
  +      // Main Deployer
  +      mainDeployer =
  +         server.createMBean("org.jboss.deployment.MainDeployer", null, 
loaderName).getObjectName();
  +      
         // Install the shutdown hook
         shutdownHook = new ShutdownHook(controllerName);
         try
  @@ -263,12 +267,11 @@
            log.warn("Failed to add shutdown hook", e);
         }
         
  -      // Main Deployer
  -      mainDeployer =
  -         server.createMBean("org.jboss.deployment.MainDeployer", null, 
loaderName).getObjectName();
  -      
         // Initialize the MainDeployer
  -      server.invoke(mainDeployer, "create", new Object[0], new String[0]);
  +      server.invoke(controllerName,
  +                    "create",
  +                    new Object[] {mainDeployer},
  +                    new String[] {ObjectName.class.getName()});
         
         // SAR Deployer
         server.createMBean("org.jboss.deployment.SARDeployer", null, loaderName);
  @@ -285,7 +288,10 @@
                       new String[] { "java.lang.String" });
   
         // Start the main deployer thread
  -      server.invoke(mainDeployer, "start", new Object[0], new String[0]);
  +      server.invoke(controllerName,
  +                    "start",
  +                    new Object[] {mainDeployer},
  +                    new String[] {ObjectName.class.getName()});
         
         // Calculate how long it took
         long lapsedTime = System.currentTimeMillis() - startDate.getTime();
  @@ -576,17 +582,23 @@
         extends Thread
      {
         /** The ServiceController which we will ask to shut things down with. */
  -      private ObjectName contollerName;
  +      private ObjectName controllerName;
  +      //private ObjectName mainDeployerName;
         
  -      public ShutdownHook(final ObjectName contollerName)
  +      public ShutdownHook(final ObjectName controllerName/*, final ObjectName 
mainDeployerName*/)
         {
            super("JBoss Shutdown Hook");
            
  -         this.contollerName = contollerName;
  +         this.controllerName = controllerName;
  +         //this.mainDeployerName = mainDeployerName;
         }
         
         public void run()
         {
  +
  +         log.info("undeploying all packages");
  +         shutdownDeployments();
  +
            log.info("Shutting down all services");
            System.out.println("Shutting down");
            
  @@ -597,6 +609,30 @@
            System.out.println("Shutdown complete");
         }
         
  +      protected void shutdownDeployments()
  +      {
  +         try
  +         {
  +            // get the deployed objects from ServiceController
  +            server.invoke(mainDeployer,
  +                          "shutdown",
  +                          new Object[0],
  +                          new String[0]);
  +         }
  +         catch (MBeanException e)
  +         {
  +            log.error("failed to shutdown deployer", e.getTargetException());
  +         }
  +         catch (RuntimeMBeanException e)
  +         {
  +            log.error("failed to shutdown deployer", e.getTargetException());
  +         }
  +         catch (Exception e)
  +         {
  +            log.error("failed to shutdown deployer", e);
  +         }
  +      }
  +
         /**
          * The <code>shutdownServices</code> method calls the one and only
          * ServiceController to shut down all the mbeans registered with it.
  @@ -606,7 +642,7 @@
            try
            {
               // get the deployed objects from ServiceController
  -            server.invoke(contollerName,
  +            server.invoke(controllerName,
                             "shutdown",
                             new Object[0],
                             new String[0]);
  
  
  

_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to