killbill-aplcache

util: start a webserver for h2 debugging The server is available

12/12/2012 11:25:01 PM

Details

diff --git a/util/src/test/java/com/ning/billing/dbi/H2TestingHelper.java b/util/src/test/java/com/ning/billing/dbi/H2TestingHelper.java
index 9717116..3e798fa 100644
--- a/util/src/test/java/com/ning/billing/dbi/H2TestingHelper.java
+++ b/util/src/test/java/com/ning/billing/dbi/H2TestingHelper.java
@@ -17,11 +17,15 @@
 package com.ning.billing.dbi;
 
 import java.io.IOException;
+import java.sql.SQLException;
 
+import org.h2.tools.Server;
 import org.testng.Assert;
 
 public class H2TestingHelper extends DBTestingHelper {
 
+    private Server server;
+
     static {
         try {
             Class.forName("org.h2.Driver");
@@ -42,19 +46,26 @@ public class H2TestingHelper extends DBTestingHelper {
 
     @Override
     public String getJdbcConnectionString() {
-        return "jdbc:h2:mem:" + DB_NAME + ";MODE=MYSQL";
+        return "jdbc:h2:mem:" + DB_NAME + ";MODE=MYSQL;DB_CLOSE_DELAY=-1";
     }
 
     @Override
     public String getInformationSchemaJdbcConnectionString() {
-        return "jdbc:h2:mem:foo;MODE=MYSQL;SCHEMA_SEARCH_PATH=INFORMATION_SCHEMA";
+        return "jdbc:h2:mem:foo;MODE=MYSQL;SCHEMA_SEARCH_PATH=INFORMATION_SCHEMA;DB_CLOSE_DELAY=-1";
     }
 
     @Override
     public void start() throws IOException {
+        // Start a web server for debugging (http://127.0.0.1:8082/)
+        try {
+            server = Server.createWebServer(new String[]{}).start();
+        } catch (SQLException e) {
+            Assert.fail(e.toString());
+        }
     }
 
     @Override
     public void stop() {
+        server.stop();
     }
 }