* add "dump threads"

* hook in to the service manager and let it know we're exiting gracefully (when appropriate)
* commented out but generally functional systray integration.  i cant get it to build sometimes though, something is b0rking up
This commit is contained in:
jrandom
2004-08-23 21:32:24 +00:00
committed by zzz
parent 3c62a5d2b4
commit 54aa0fdb11
3 changed files with 38 additions and 6 deletions

View File

@ -4,6 +4,7 @@
<target name="build" depends="builddep, jar" />
<target name="builddep">
<ant dir="../../../router/java/" target="build" />
<!-- <ant dir="../../systray/java/" target="build" /> -->
<!-- router will build core -->
</target>
<target name="prepare">
@ -15,8 +16,16 @@
<javac
srcdir="./src"
debug="true" deprecation="on" source="1.3" target="1.3"
destdir="./build/obj"
classpath="../../../core/java/build/i2p.jar:../../../router/java/build/router.jar:../../jetty/jettylib/org.mortbay.jetty-jdk1.2.jar" />
destdir="./build/obj">
<classpath>
<pathelement location="../../../core/java/build/i2p.jar" />
<pathelement location="../../../router/java/build/router.jar" />
<pathelement location="../../jetty/jettylib/org.mortbay.jetty-jdk1.2.jar" />
<!-- <pathelement location="../../systray/java/build/lib/systray.jar" /> -->
<!-- <pathelement location="../../systray/java/lib/systray4j.jar" /> -->
<pathelement location="../../../installer/lib/wrapper/win32/wrapper.jar" /> <!-- we dont care if we're not on win32 -->
</classpath>
</javac>
</target>
<target name="jar" depends="compile">
<jar destfile="./build/routerconsole.jar" basedir="./build/obj" includes="**/*.class">
@ -44,6 +53,8 @@
<pathelement location="../../jetty/jettylib/jasper-runtime.jar" />
<pathelement location="../../jetty/jettylib/javax.servlet.jar" />
<pathelement location="../../jetty/jettylib/ant.jar" />
<pathelement location="../../systray/java/build/obj" />
<pathelement location="../../../installer/lib/wrapper/win32/wrapper.jar" /> <!-- we dont care if we're not on win32 -->
<pathelement location="build/routerconsole.jar" />
</classpath>
<arg value="-d" />
@ -88,10 +99,12 @@
</target>
<target name="cleandep" depends="clean">
<!-- router will clean core -->
<ant dir="../../../router/java/" target="distclean" />
<ant dir="../../../router/java/" target="cleandep" />
<!-- <ant dir="../../systray/java/" target="cleandep" /> -->
</target>
<target name="distclean" depends="clean">
<!-- router will clean core -->
<ant dir="../../../router/java/" target="distclean" />
<!-- <ant dir="../../systray/java/" target="distclean" /> -->
</target>
</project>

View File

@ -1,6 +1,10 @@
package net.i2p.router.web;
import net.i2p.router.ClientTunnelSettings;
import net.i2p.router.Router;
//import net.i2p.apps.systray.SysTray;
import org.tanukisoftware.wrapper.WrapperManager;
/**
* Handler to deal with form submissions from the service config form and act
@ -14,14 +18,25 @@ public class ConfigServiceHandler extends FormHandler {
if (_action == null) return;
if ("Shutdown gracefully".equals(_action)) {
WrapperManager.signalStopped(Router.EXIT_GRACEFUL);
_context.router().shutdownGracefully();
addFormNotice("Graceful shutdown initiated");
} else if ("Shutdown immediately".equals(_action)) {
_context.router().shutdown();
WrapperManager.signalStopped(Router.EXIT_HARD);
_context.router().shutdown(Router.EXIT_HARD);
addFormNotice("Shutdown immediately! boom bye bye bad bwoy");
} else if ("Cancel graceful shutdown".equals(_action)) {
_context.router().cancelGracefulShutdown();
addFormNotice("Graceful shutdown cancelled");
} else if ("Dump threads".equals(_action)) {
WrapperManager.requestThreadDump();
addFormNotice("Threads dumped to logs/wrapper.log");
//} else if ("Show systray icon".equals(_action)) {
// SysTray.instance().show();
// addFormNotice("Systray icon enabled (if possible)");
//} else if ("Hide systray icon".equals(_action)) {
// SysTray.instance().hide();
// addFormNotice("Systray icon disabled");
} else {
addFormNotice("Blah blah blah. whatever. I'm not going to " + _action);
}