1 /*
2 * Copyright (c) 1998-2002 The Jgroup Team.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU Lesser General Public License version 2 as
6 * published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU Lesser General Public License for more details.
12 *
13 * You should have received a copy of the GNU Lesser General Public License
14 * along with this program; if not, write to the Free Software
15 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
16 *
17 */
18
19 package jgroup.arm;
20
21 import java.util.Enumeration;
22 import java.util.StringTokenizer;
23
24 import jgroup.core.ConfigManager;
25 import jgroup.core.arm.ExecService;
26 import jgroup.core.registry.BootstrapRegistry;
27
28 /**
29 * Shutdown the execution service on the given host.
30 *
31 * @author Hein Meling
32 * @since Jgroup 2.1
33 */
34 public class ShutdownHost
35 {
36
37 ////////////////////////////////////////////////////////////////////////////////////////////
38 // Main method
39 ////////////////////////////////////////////////////////////////////////////////////////////
40
41 public static void main(String[] args)
42 throws Exception
43 {
44 ConfigManager.init();
45 String hosts = System.getProperty("jgroup.shutdown.hosts");
46 if (hosts == null || hosts.length() == 0) {
47 throw new IllegalArgumentException("No hosts specified for shutdown");
48 }
49 Enumeration hostsEnum = new StringTokenizer(hosts, ",");
50 int delay = 0;
51 while (hostsEnum.hasMoreElements()) {
52 String host = (String) hostsEnum.nextElement();
53 System.out.println("Shutdown: " + host);
54 ExecService es = (ExecService) BootstrapRegistry.lookup(host, ExecService.EXEC_DAEMON_NAME);
55 es.shutdown(delay);
56 delay += 200;
57 }
58 System.exit(0);
59 }
60
61 } // END ShutdownHost