From 2ca0ae75294ab05ed74f56c2f5191747275213f6 Mon Sep 17 00:00:00 2001 From: zzz Date: Mon, 15 Jun 2009 15:22:51 +0000 Subject: [PATCH] * i2psnark build: - Move FetchAndAdd to static inner class - Remove duplicate classes from i2psnark.war (120KB); fixes sporadic FetchAndAdd IllegalAccessError - Fix standalone build to include i2psnark.jar since classes aren't in the .war anymore - Have standalone jetty use I2PAppContext temp directory - Replace launch-i2psnark.jar with launch-i2psnark script, since RunStandalone is in i2p.jar - Clean up jetty-i2psnark.xml, turn off jetty logging - Remove standalone build from the pkg target in the main build.xml --- apps/i2psnark/java/build.xml | 28 ++------- .../org/klomp/snark/web/I2PSnarkServlet.java | 7 ++- .../org/klomp/snark/web/RunStandalone.java | 5 +- apps/i2psnark/jetty-i2psnark.xml | 63 +++---------------- apps/i2psnark/launch-i2psnark | 8 +++ apps/i2psnark/readme-standalone.txt | 6 +- build.xml | 5 +- 7 files changed, 36 insertions(+), 86 deletions(-) create mode 100755 apps/i2psnark/launch-i2psnark diff --git a/apps/i2psnark/java/build.xml b/apps/i2psnark/java/build.xml index d70233ac6..56ccb554d 100644 --- a/apps/i2psnark/java/build.xml +++ b/apps/i2psnark/java/build.xml @@ -37,16 +37,17 @@ - + + - + @@ -56,31 +57,13 @@ - - - - - - - - - - - - - - - - - - - + + @@ -92,7 +75,6 @@ - diff --git a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java index 410e804d9..3929fbe11 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java +++ b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java @@ -876,10 +876,9 @@ public class I2PSnarkServlet extends HttpServlet { private static final String TABLE_FOOTER = "\n"; private static final String FOOTER = ""; -} - -class FetchAndAdd implements Runnable { +/** inner class, don't bother reindenting */ +private static class FetchAndAdd implements Runnable { private SnarkManager _manager; private String _url; public FetchAndAdd(SnarkManager mgr, String url) { @@ -931,3 +930,5 @@ class FetchAndAdd implements Runnable { } } } + +} diff --git a/apps/i2psnark/java/src/org/klomp/snark/web/RunStandalone.java b/apps/i2psnark/java/src/org/klomp/snark/web/RunStandalone.java index 05795b861..2880676a2 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/web/RunStandalone.java +++ b/apps/i2psnark/java/src/org/klomp/snark/web/RunStandalone.java @@ -2,6 +2,7 @@ package org.klomp.snark.web; import java.io.File; +import net.i2p.I2PAppContext; import net.i2p.util.FileUtil; import org.mortbay.jetty.Server; @@ -22,7 +23,7 @@ public class RunStandalone { } public void start() { - File workDir = new File("work"); + File workDir = new File(I2PAppContext.getGlobalContext().getTempDir(), "jetty-work"); boolean workDirRemoved = FileUtil.rmdir(workDir, false); if (!workDirRemoved) System.err.println("ERROR: Unable to remove Jetty temporary work directory"); @@ -32,6 +33,8 @@ public class RunStandalone { try { _server = new Server("jetty-i2psnark.xml"); + // just blow up NPE if we don't have a context + (_server.getContexts()[0]).setTempDirectory(workDir); _server.start(); } catch (Exception e) { e.printStackTrace(); diff --git a/apps/i2psnark/jetty-i2psnark.xml b/apps/i2psnark/jetty-i2psnark.xml index 125db8b6d..0d4c56112 100644 --- a/apps/i2psnark/jetty-i2psnark.xml +++ b/apps/i2psnark/jetty-i2psnark.xml @@ -1,6 +1,12 @@ + + + + + + @@ -12,7 +18,7 @@ - + @@ -23,7 +29,7 @@ 8002 - 3 + 1 10 30000 1000 @@ -34,45 +40,6 @@ - - - - - - - - - - - - - @@ -91,20 +58,6 @@ webapps/i2psnark.war - - - - - - ./logs/yyyy_mm_dd.i2psnark-request.log - 90 - true - false - false - GMT - - - diff --git a/apps/i2psnark/launch-i2psnark b/apps/i2psnark/launch-i2psnark new file mode 100755 index 000000000..023b5a21a --- /dev/null +++ b/apps/i2psnark/launch-i2psnark @@ -0,0 +1,8 @@ +#!/bin/sh +# +# This launches i2psnark and jetty in a separate jvm. +# The file jetty-i2psnark.xml must be present in the current directory. +# i2psnark will be accessed at http://127.0.0.1:8002/ +# +I2P="." +java -cp "$I2P/lib/i2psnark.jar:$I2P/lib/i2p.jar:$I2P/lib/mstreaming.jar:$I2P/lib/streaming.jar:$I2P/lib/commons-el.jar:$I2P/lib/commons-logging.jar:$I2P/lib/jasper-compiler.jar:$I2P/lib/jasper-runtime.jar:$I2P/lib/javax.servlet.jar:$I2P/lib/org.mortbay.jetty.jar" org.klomp.snark.web.RunStandalone "$@" diff --git a/apps/i2psnark/readme-standalone.txt b/apps/i2psnark/readme-standalone.txt index 2f641db89..9bc1ddf66 100644 --- a/apps/i2psnark/readme-standalone.txt +++ b/apps/i2psnark/readme-standalone.txt @@ -1,6 +1,6 @@ To run I2PSnark from the command line, run "java -jar lib/i2psnark.jar", but -to run it with the web UI, run "java -jar launch-i2psnark.jar". I2PSnark is +to run it with the web UI, run "launch-i2psnark". I2PSnark is GPL'ed software, based on Snark (http://www.klomp.org/) to run on top of I2P -(http://www.i2p.net/) within a webserver (such as the bundled Jetty from +(http://www.i2p2.de/) within a webserver (such as the bundled Jetty from http://jetty.mortbay.org/). For more information about I2PSnark, get in touch -with the folks at http://forum.i2p.net/ \ No newline at end of file +with the folks at http://forum.i2p2.de/ diff --git a/build.xml b/build.xml index 78d549b33..376171dbb 100644 --- a/build.xml +++ b/build.xml @@ -39,7 +39,10 @@ + @@ -240,7 +243,7 @@ - +