org.w3c.jigsaw.admin
Class JigKill

java.lang.Object
  |
  +--org.w3c.jigsaw.admin.JigKill

public class JigKill
extends java.lang.Object

Simple class used to save and/or kill Jigsaw.

Options:
-u username User name (defaults to "admin")
-p password Password (required)
--username username Same as -u
--password password Same as -p
--save Save configuration of all servers
--stop Stop all servers
--ping check if servers are reachable
(The last argument is assumed to be the URL to the Admin server, see Usage examples below...)

Example usage:
(be sure that jigsaw's *.jar file is in CLASSPATH, e.g. export CLASSPATH=~/Jigsaw/classes/jigsaw.zip:${CLASSPATH})
- Save and exit the server http://gyros.informatik.med.uni-giessen.de:
java org.w3c.jigsaw.admin.JigKill -u admin -p for#8pj http://gyros.informatik.med.uni-giessen.de:8009/
OR (using explicit options)
java org.w3c.jigsaw.admin.JigKill -u admin -p for#8pj --save --stop http://gyros.informatik.med.uni-giessen.de:8009/
- Stop a server (as fast as possible, e.g. for system shutdown):
java org.w3c.jigsaw.admin.JigKill -u admin -p for#8pj --stop http://gyros.informatik.med.uni-giessen.de:8009/
- Save the servers current configuration:
java org.w3c.jigsaw.admin.JigKill -u admin -p for#8pj --save http://gyros.informatik.med.uni-giessen.de:8009/
- Check if a server is still alive:
java org.w3c.jigsaw.admin.JigKill -u admin -p for#8pj --ping http://gyros.informatik.med.uni-giessen.de:8009/

Changes from V1.1 to 1.2:
- Added --stop option: Simply stop jigsaw quick&savely.
- Added --save option: Snapshot the current config (something for a daily crontab job).
- Added --ping option to see if the server is still running (usefull for scripts).
- Added --username and --password options as aliases for -u and -p.
- JigKill now returns 0 for success and non-0 for failure (of the requested operation) EVERYTIMES (except the JVM cores) to make script-processing as much as easy.
- -u option now defaults to "admin", as jigsaw's default config does.
- JigKill now saves all servers first before stopping them all (first backup, then destroy...).

ToDo:
- Adding a --restart option.


Field Summary
protected  org.w3c.jigsaw.admin.RemoteResource adminServer
           
protected  org.w3c.jigsaw.admin.RemoteResource[] ctrls
           
protected static int EXIT_FAILURE
          Exit value of the JVM on failure of the requested operation.
protected static int EXIT_SUCCESS
          Exit value of the JVM on success of the requested operation.
 
Constructor Summary
JigKill(java.net.URL adminURL, java.lang.String username, java.lang.String password)
          Contructor.
 
Method Summary
protected  void doLoadResource(java.lang.String cmd)
          Send a "command" to all servers and the admin server.
protected  org.w3c.jigsaw.admin.RemoteResource[] getControls(org.w3c.jigsaw.admin.RemoteResource admin)
          Get all the server's ControlResource.
protected  void kill()
          Save the configuration of the servers and the admin server and then kill all servers (including the admin server).
static void main(java.lang.String[] args)
          Main program entry.
protected  void save()
          Save the configuration of the servers and the admin server.
protected  void stop()
          Stop the servers and the admin server.
protected static void usage()
          Print usage description and exit with exit status EXIT_FAILURE
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

EXIT_SUCCESS

protected static final int EXIT_SUCCESS
Exit value of the JVM on success of the requested operation.

EXIT_FAILURE

protected static final int EXIT_FAILURE
Exit value of the JVM on failure of the requested operation.

adminServer

protected org.w3c.jigsaw.admin.RemoteResource adminServer

ctrls

protected org.w3c.jigsaw.admin.RemoteResource[] ctrls
Constructor Detail

JigKill

public JigKill(java.net.URL adminURL,
               java.lang.String username,
               java.lang.String password)
        throws org.w3c.jigsaw.admin.RemoteAccessException
Contructor.
Parameters:
adminURL - the admin server URL
username - the username
password - the password
Method Detail

usage

protected static void usage()
Print usage description and exit with exit status EXIT_FAILURE
See Also:
main(String[])

getControls

protected org.w3c.jigsaw.admin.RemoteResource[] getControls(org.w3c.jigsaw.admin.RemoteResource admin)
                                                     throws org.w3c.jigsaw.admin.RemoteAccessException
Get all the server's ControlResource.
Parameters:
admin - the admin server (a RemoteResource)
Returns:
an array of RemoteResource
Throws:
org.w3c.jigsaw.admin.RemoteAccessException - if any remote error occurs.

kill

protected void kill()
             throws org.w3c.jigsaw.admin.RemoteAccessException
Save the configuration of the servers and the admin server and then kill all servers (including the admin server).
Throws:
org.w3c.jigsaw.admin.RemoteAccessException - if any remote error occurs.
See Also:
save(), stop()

stop

protected void stop()
             throws org.w3c.jigsaw.admin.RemoteAccessException
Stop the servers and the admin server.
Throws:
org.w3c.jigsaw.admin.RemoteAccessException - if any remote error occurs.
Since:
JigKill 1.2
See Also:
doLoadResource(String), kill()

save

protected void save()
             throws org.w3c.jigsaw.admin.RemoteAccessException
Save the configuration of the servers and the admin server.
Throws:
org.w3c.jigsaw.admin.RemoteAccessException - if any remote error occurs.
Since:
JigKill 1.2
See Also:
doLoadResource(String), kill()

doLoadResource

protected void doLoadResource(java.lang.String cmd)
                       throws org.w3c.jigsaw.admin.RemoteAccessException
Send a "command" to all servers and the admin server.
Parameters:
cmd - name of the resource to load.
Throws:
org.w3c.jigsaw.admin.RemoteAccessException - if any remote error occurs.
Since:
JigKill 1.2
See Also:
save(), stop()

main

public static void main(java.lang.String[] args)
Main program entry. This method exits the JVM with either EXIT_SUCCESS or EXIT_FAILURE for the requested operation.
Parameters:
args - program arguments
See Also:
usage()