diff --git a/apps/streaming/java/build.xml b/apps/streaming/java/build.xml
index 19b60138e622b367fc3bb15ffaca32eae8aa0332..72d4987623dcf84d47335fba4629a1f8d651dd65 100644
--- a/apps/streaming/java/build.xml
+++ b/apps/streaming/java/build.xml
@@ -84,6 +84,8 @@
                 <include name="**/*.class"/>
                 <!-- exclude Test classes -->
                 <exclude name="**/*Test.class" />
+                <exclude name="**/*IT.class" />
+                <exclude name="**/StreamingITBase.class" />
                 <!-- exclude anything not in net.i2p.* -->
                 <exclude name="org/cybergarage/**/*.class" />
                 <exclude name="org/freenetproject/**/*.class" />
@@ -126,6 +128,7 @@
             <batchtest todir="../../../reports/streaming/junit/">
                 <fileset dir="./test/junit">
                     <include name="**/*Test.java" />
+                    <include name="**/*IT.java" if="runIntegrationTests" />
                 </fileset>
             </batchtest>
             <formatter type="xml"/>
diff --git a/apps/streaming/java/test/junit/net/i2p/client/streaming/impl/ConnectCloseTest.java b/apps/streaming/java/test/junit/net/i2p/client/streaming/impl/ConnectCloseIT.java
similarity index 96%
rename from apps/streaming/java/test/junit/net/i2p/client/streaming/impl/ConnectCloseTest.java
rename to apps/streaming/java/test/junit/net/i2p/client/streaming/impl/ConnectCloseIT.java
index 41c5b2fdd361027aade5fc131c20fddf71168da4..e3c277b68a6e3b075586bc926378551b7cce5f77 100644
--- a/apps/streaming/java/test/junit/net/i2p/client/streaming/impl/ConnectCloseTest.java
+++ b/apps/streaming/java/test/junit/net/i2p/client/streaming/impl/ConnectCloseIT.java
@@ -18,14 +18,14 @@ import net.i2p.util.Log;
  * EOF.
  *
  */
-public class ConnectCloseTest extends StreamingTestBase {
+public class ConnectCloseIT extends StreamingITBase {
     private Log _log;
     private I2PSession _server;
     
     @Test
     public void test() throws Exception {
         I2PAppContext context = I2PAppContext.getGlobalContext();
-        _log = context.logManager().getLog(ConnectCloseTest.class);
+        _log = context.logManager().getLog(ConnectCloseIT.class);
         _log.debug("creating server session");
         _server = createSession();
         _log.debug("running server");
diff --git a/apps/streaming/java/test/junit/net/i2p/client/streaming/impl/ConnectTest.java b/apps/streaming/java/test/junit/net/i2p/client/streaming/impl/ConnectIT.java
similarity index 96%
rename from apps/streaming/java/test/junit/net/i2p/client/streaming/impl/ConnectTest.java
rename to apps/streaming/java/test/junit/net/i2p/client/streaming/impl/ConnectIT.java
index 772538fb76e5ea56a0d43a31e03aac77bf0dd6ee..f308164269d85056eece45adc4e632ebcf51d907 100644
--- a/apps/streaming/java/test/junit/net/i2p/client/streaming/impl/ConnectTest.java
+++ b/apps/streaming/java/test/junit/net/i2p/client/streaming/impl/ConnectIT.java
@@ -15,7 +15,7 @@ import net.i2p.util.Log;
 /**
  *
  */
-public class ConnectTest extends StreamingTestBase {
+public class ConnectIT extends StreamingITBase {
     private Log _log;
     private I2PSession _server;
     
@@ -28,7 +28,7 @@ public class ConnectTest extends StreamingTestBase {
     @Test
     public void test() throws Exception {
         I2PAppContext context = I2PAppContext.getGlobalContext();
-        _log = context.logManager().getLog(ConnectTest.class);
+        _log = context.logManager().getLog(ConnectIT.class);
         _log.debug("creating server session");
         _server = createSession();
         _log.debug("running server");
diff --git a/apps/streaming/java/test/junit/net/i2p/client/streaming/impl/ConnectInactivityTest.java b/apps/streaming/java/test/junit/net/i2p/client/streaming/impl/ConnectInactivityIT.java
similarity index 96%
rename from apps/streaming/java/test/junit/net/i2p/client/streaming/impl/ConnectInactivityTest.java
rename to apps/streaming/java/test/junit/net/i2p/client/streaming/impl/ConnectInactivityIT.java
index 6d6a6244372888ecf33a09463cd4c04f531b707d..0c1daf7e08e47ee277158904a1bfc56e31862541 100644
--- a/apps/streaming/java/test/junit/net/i2p/client/streaming/impl/ConnectInactivityTest.java
+++ b/apps/streaming/java/test/junit/net/i2p/client/streaming/impl/ConnectInactivityIT.java
@@ -15,7 +15,7 @@ import net.i2p.util.Log;
 /**
  *
  */
-public class ConnectInactivityTest extends StreamingTestBase {
+public class ConnectInactivityIT extends StreamingITBase {
     private static final long LONG_TIME = 60 * 1000;
     
     private static void sleep() throws Exception {
@@ -29,7 +29,7 @@ public class ConnectInactivityTest extends StreamingTestBase {
     @Test
     public void test() throws Exception {
         I2PAppContext context = I2PAppContext.getGlobalContext();
-        _log = context.logManager().getLog(ConnectTest.class);
+        _log = context.logManager().getLog(ConnectIT.class);
         _log.debug("creating server session");
         _server = createSession();
         _log.debug("running server");
diff --git a/apps/streaming/java/test/junit/net/i2p/client/streaming/impl/ConnectTimeoutTest.java b/apps/streaming/java/test/junit/net/i2p/client/streaming/impl/ConnectTimeoutIT.java
similarity index 94%
rename from apps/streaming/java/test/junit/net/i2p/client/streaming/impl/ConnectTimeoutTest.java
rename to apps/streaming/java/test/junit/net/i2p/client/streaming/impl/ConnectTimeoutIT.java
index b54d167e55062bb7daae2f78c147db9bcb2a9165..15cd718a0f41fa1d1ed0e02a57e6c9efecbef6bf 100644
--- a/apps/streaming/java/test/junit/net/i2p/client/streaming/impl/ConnectTimeoutTest.java
+++ b/apps/streaming/java/test/junit/net/i2p/client/streaming/impl/ConnectTimeoutIT.java
@@ -17,7 +17,7 @@ import net.i2p.util.Log;
  * Try to connect to a new nonexistant peer and, of course,
  * timeout.
  */
-public class ConnectTimeoutTest  extends StreamingTestBase {
+public class ConnectTimeoutIT  extends StreamingITBase {
     private Log _log;
     private I2PSession _client;
     private Destination _serverDest;
@@ -25,7 +25,7 @@ public class ConnectTimeoutTest  extends StreamingTestBase {
     @Test
     public void testNonexistant() throws Exception {
         I2PAppContext context = I2PAppContext.getGlobalContext();
-        _log = context.logManager().getLog(ConnectTest.class);
+        _log = context.logManager().getLog(ConnectIT.class);
         _log.debug("creating server dest");
         _serverDest = I2PClientFactory.createClient().createDestination(new ByteArrayOutputStream());
         _log.debug("creating client session");
diff --git a/apps/streaming/java/test/junit/net/i2p/client/streaming/impl/EchoTest.java b/apps/streaming/java/test/junit/net/i2p/client/streaming/impl/EchoIT.java
similarity index 97%
rename from apps/streaming/java/test/junit/net/i2p/client/streaming/impl/EchoTest.java
rename to apps/streaming/java/test/junit/net/i2p/client/streaming/impl/EchoIT.java
index 6a88d86559c7c602c7cd2d272f0c1f8fac3373d3..a8496392bc5ba26bda3d1803cbffab2f583e3a46 100644
--- a/apps/streaming/java/test/junit/net/i2p/client/streaming/impl/EchoTest.java
+++ b/apps/streaming/java/test/junit/net/i2p/client/streaming/impl/EchoIT.java
@@ -17,7 +17,7 @@ import net.i2p.util.Log;
 /**
  *
  */
-public class EchoTest extends StreamingTestBase {
+public class EchoIT extends StreamingITBase {
     private Log _log;
     private I2PSession _client;
     private I2PSession _server;
@@ -25,7 +25,7 @@ public class EchoTest extends StreamingTestBase {
     @Test
     public void test() throws Exception {
         I2PAppContext context = I2PAppContext.getGlobalContext();
-        _log = context.logManager().getLog(ConnectTest.class);
+        _log = context.logManager().getLog(ConnectIT.class);
         _log.debug("creating server session");
         _server = createSession();
         _log.debug("running server");
diff --git a/apps/streaming/java/test/junit/net/i2p/client/streaming/impl/EchoLargeTest.java b/apps/streaming/java/test/junit/net/i2p/client/streaming/impl/EchoLargeIT.java
similarity index 98%
rename from apps/streaming/java/test/junit/net/i2p/client/streaming/impl/EchoLargeTest.java
rename to apps/streaming/java/test/junit/net/i2p/client/streaming/impl/EchoLargeIT.java
index a626212de87328a7d0226bf03644f75535c85ac2..f18b05c1637696f72b5fa1669c7c5b1d7816aaab 100644
--- a/apps/streaming/java/test/junit/net/i2p/client/streaming/impl/EchoLargeTest.java
+++ b/apps/streaming/java/test/junit/net/i2p/client/streaming/impl/EchoLargeIT.java
@@ -17,7 +17,7 @@ import net.i2p.util.Log;
 /**
  *
  */
-public class EchoLargeTest extends StreamingTestBase {
+public class EchoLargeIT extends StreamingITBase {
     private Log _log;
     private I2PSession _client;
     private I2PSession _server;
@@ -25,7 +25,7 @@ public class EchoLargeTest extends StreamingTestBase {
     @Test
     public void test() throws Exception {
         I2PAppContext context = I2PAppContext.getGlobalContext();
-        _log = context.logManager().getLog(ConnectTest.class);
+        _log = context.logManager().getLog(ConnectIT.class);
         _log.debug("creating server session");
         _server = createSession();
         _log.debug("running server");
diff --git a/apps/streaming/java/test/junit/net/i2p/client/streaming/impl/PingTest.java b/apps/streaming/java/test/junit/net/i2p/client/streaming/impl/PingIT.java
similarity index 96%
rename from apps/streaming/java/test/junit/net/i2p/client/streaming/impl/PingTest.java
rename to apps/streaming/java/test/junit/net/i2p/client/streaming/impl/PingIT.java
index b0aa50feca62a3f746eb9e8a69be7c204d5a6d44..779cfaffc1539593f3e39721b549fa0ba867177a 100644
--- a/apps/streaming/java/test/junit/net/i2p/client/streaming/impl/PingTest.java
+++ b/apps/streaming/java/test/junit/net/i2p/client/streaming/impl/PingIT.java
@@ -13,7 +13,7 @@ import net.i2p.client.I2PClient;
 import net.i2p.client.I2PClientFactory;
 import net.i2p.client.I2PSession;
 
-public class PingTest extends TestCase {
+public class PingIT extends TestCase {
 
     @Test
     public void test() throws Exception {
diff --git a/apps/streaming/java/test/junit/net/i2p/client/streaming/impl/StreamingTestBase.java b/apps/streaming/java/test/junit/net/i2p/client/streaming/impl/StreamingITBase.java
similarity index 97%
rename from apps/streaming/java/test/junit/net/i2p/client/streaming/impl/StreamingTestBase.java
rename to apps/streaming/java/test/junit/net/i2p/client/streaming/impl/StreamingITBase.java
index 2331b199d5684ce0ad91011a52f6ec149d46cdde..fe9918e1d88e6f3196de3ea9e5470d27b8b67c94 100644
--- a/apps/streaming/java/test/junit/net/i2p/client/streaming/impl/StreamingTestBase.java
+++ b/apps/streaming/java/test/junit/net/i2p/client/streaming/impl/StreamingITBase.java
@@ -12,7 +12,7 @@ import net.i2p.util.Log;
 
 import junit.framework.TestCase;
 
-abstract class StreamingTestBase extends TestCase {
+abstract class StreamingITBase extends TestCase {
 
     // TODO: this may need to start a full router
     
diff --git a/build.properties b/build.properties
index c704df26ff24e2de594f76af0d21e1d92aa000b8..cabe7a5fd800fbdd4626e7b0769af8dd349f3785 100644
--- a/build.properties
+++ b/build.properties
@@ -68,6 +68,10 @@ javac.version=1.6
 
 
 ### UnitTests ##
+# Uncomment the next line to enable integration tests.
+# These require a running router with I2CP available on 127.0.0.1:7654.
+#runIntegrationTests=true
+
 # Location of the libraries required for the ScalaTest tests.
 # Define this in override.properties or pass in on the command line.
 # The directory must contain the following library names: