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