KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > cjdbc > controller > core > shutdown > ControllerForceShutdownThread


1 /**
2  * C-JDBC: Clustered JDBC.
3  * Copyright (C) 2005 Emic Networks.
4  * Contact: c-jdbc@objectweb.org
5  *
6  * This library is free software; you can redistribute it and/or modify it
7  * under the terms of the GNU Lesser General Public License as published by the
8  * Free Software Foundation; either version 2.1 of the License, or any later
9  * version.
10  *
11  * This library is distributed in the hope that it will be useful, but WITHOUT
12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
14  * for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public License
17  * along with this library; if not, write to the Free Software Foundation,
18  * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
19  *
20  * Initial developer(s): Emmanuel Cecchet.
21  * Contributor(s): ______________________.
22  */

23
24 package org.objectweb.cjdbc.controller.core.shutdown;
25
26 import org.objectweb.cjdbc.common.exceptions.ShutdownException;
27 import org.objectweb.cjdbc.common.util.Constants;
28 import org.objectweb.cjdbc.controller.core.Controller;
29
30 /**
31  * This thread waits for all clients to terminate their connections before
32  * shutting down the controller.
33  *
34  * @author <a HREF="mailto:emmanuel.cecchet@emicnetworks.com">Emmanuel Cecchet
35  * </a>
36  * @version 1.0
37  */

38 public class ControllerForceShutdownThread extends ControllerShutdownThread
39 {
40
41   /**
42    * Creates a new <code>ControllerWaitShutdownThread</code> object
43    *
44    * @param controller the controller to shutdown
45    */

46   public ControllerForceShutdownThread(Controller controller)
47   {
48     super(controller, Constants.SHUTDOWN_FORCE);
49   }
50
51   /**
52    * @see org.objectweb.cjdbc.controller.core.shutdown.ShutdownThread#shutdown()
53    */

54   public void shutdown() throws ShutdownException
55   {
56     logger.info("Starting controller shutdown");
57     shutdownDatabases();
58     generateReportIfNeeded();
59     shutdownJmxAgent();
60     // Wait for a maximum of 5 seconds for thread termination.
61
shutdownServerConnectionThread(5000);
62     logger.info("Exiting JVM.");
63     System.exit(0);
64   }
65
66 }
Popular Tags