forked from I2P_Developers/i2p.i2p
* 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:
@ -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>
|
||||
|
@ -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);
|
||||
}
|
||||
|
Reference in New Issue
Block a user