Browse Source

Optimize light-4j (previous light-java) for round 15 (#2785)

* optimize plaintext and router

* optimize multiple queries and updates

* upgrade to light-java 1.2.5

* optimize json handler to use java object instead of map

* optimized for round 15

* upgrade postgres driver and connection pool

* clean up some of the default middleware handlers and startup hooks as they are not used in the tests
Steve Hu 8 years ago
parent
commit
fd4c9f165c
28 changed files with 60 additions and 839 deletions
  1. 9 31
      frameworks/Java/light-java/benchmark_config.json
  2. 6 7
      frameworks/Java/light-java/dependency-reduced-pom.xml
  3. 2 114
      frameworks/Java/light-java/pom.xml
  4. 10 7
      frameworks/Java/light-java/src/main/java/com/networknt/techempower/Helper.java
  5. 10 10
      frameworks/Java/light-java/src/main/java/com/networknt/techempower/PathHandlerProvider.java
  6. 2 70
      frameworks/Java/light-java/src/main/java/com/networknt/techempower/handler/DbMysqlGetHandler.java
  7. 1 1
      frameworks/Java/light-java/src/main/java/com/networknt/techempower/handler/DbPostgresqlGetHandler.java
  8. 0 4
      frameworks/Java/light-java/src/main/java/com/networknt/techempower/handler/FortunesPostgresqlGetHandler.java
  9. 13 25
      frameworks/Java/light-java/src/main/java/com/networknt/techempower/handler/JsonGetHandler.java
  10. 1 1
      frameworks/Java/light-java/src/main/java/com/networknt/techempower/handler/QueriesMysqlGetHandler.java
  11. 1 1
      frameworks/Java/light-java/src/main/java/com/networknt/techempower/handler/QueriesPostgresqlGetHandler.java
  12. 1 1
      frameworks/Java/light-java/src/main/java/com/networknt/techempower/handler/UpdatesMysqlGetHandler.java
  13. 1 1
      frameworks/Java/light-java/src/main/java/com/networknt/techempower/handler/UpdatesPostgresqlGetHandler.java
  14. 1 2
      frameworks/Java/light-java/src/main/java/com/networknt/techempower/model/World.java
  15. 1 3
      frameworks/Java/light-java/src/main/resources/META-INF/services/com.networknt.server.StartupHookProvider
  16. 1 20
      frameworks/Java/light-java/src/main/resources/fortunes.mustache
  17. 0 43
      frameworks/Java/light-java/src/test/java/com/networknt/techempower/handler/DbMysqlGetHandlerTest.java
  18. 0 43
      frameworks/Java/light-java/src/test/java/com/networknt/techempower/handler/DbPostgresqlGetHandlerTest.java
  19. 0 43
      frameworks/Java/light-java/src/test/java/com/networknt/techempower/handler/FortunesMysqlGetHandlerTest.java
  20. 0 43
      frameworks/Java/light-java/src/test/java/com/networknt/techempower/handler/FortunesPostgresqlGetHandlerTest.java
  21. 0 43
      frameworks/Java/light-java/src/test/java/com/networknt/techempower/handler/JsonGetHandlerTest.java
  22. 0 43
      frameworks/Java/light-java/src/test/java/com/networknt/techempower/handler/PlaintextGetHandlerTest.java
  23. 0 43
      frameworks/Java/light-java/src/test/java/com/networknt/techempower/handler/QueriesMysqlGetHandlerTest.java
  24. 0 43
      frameworks/Java/light-java/src/test/java/com/networknt/techempower/handler/QueriesPostgresqlGetHandlerTest.java
  25. 0 44
      frameworks/Java/light-java/src/test/java/com/networknt/techempower/handler/TestServer.java
  26. 0 43
      frameworks/Java/light-java/src/test/java/com/networknt/techempower/handler/UpdatesMysqlGetHandlerTest.java
  27. 0 36
      frameworks/Java/light-java/src/test/java/com/networknt/techempower/handler/UpdatesPostgresqlGetHandlerTest.java
  28. 0 74
      frameworks/Java/light-java/src/test/resources/logback-test.xml

+ 9 - 31
frameworks/Java/light-java/benchmark_config.json

@@ -1,5 +1,5 @@
 {
 {
-  "framework": "light-java",
+  "framework": "light-4j",
   "tests": [{
   "tests": [{
     "default": {
     "default": {
       "setup_file": "setup",
       "setup_file": "setup",
@@ -13,42 +13,20 @@
       "language": "Java",
       "language": "Java",
       "flavor": "None",
       "flavor": "None",
       "orm": "Raw",
       "orm": "Raw",
-      "platform": "Light-Java",
+      "platform": "Light-4J",
       "webserver": "None",
       "webserver": "None",
       "os": "Linux",
       "os": "Linux",
       "database_os": "Linux",
       "database_os": "Linux",
-      "display_name": "light-java",
-      "notes": "",
-      "versus": ""
-    },
-    "mysql" : {
-      "setup_file": "setup_mysql",
-      "db_url": "/db/mysql",
-      "query_url": "/queries/mysql?queries=",
-      "fortune_url": "/fortunes/mysql",
-      "update_url": "/updates/mysql?queries=",
-      "port": 8080,
-      "approach": "Realistic",
-      "classification": "Platform",
-      "database": "MySQL",
-      "framework": "None",
-      "language": "Java",
-      "flavor": "None",
-      "orm": "Raw",
-      "platform": "Light-Java",
-      "webserver": "None",
-      "os": "Linux",
-      "database_os": "Linux",
-      "display_name": "light-java",
+      "display_name": "light-4j",
       "notes": "",
       "notes": "",
       "versus": ""
       "versus": ""
     },
     },
     "postgresql" : {
     "postgresql" : {
       "setup_file": "setup_postgresql",
       "setup_file": "setup_postgresql",
-      "db_url": "/db/postgresql",
-      "query_url": "/queries/postgresql?queries=",
-      "fortune_url": "/fortunes/postgresql",
-      "update_url": "/updates/postgresql?queries=",
+      "db_url": "/db",
+      "query_url": "/queries?queries=",
+      "fortune_url": "/fortunes",
+      "update_url": "/updates?queries=",
       "port": 8080,
       "port": 8080,
       "approach": "Realistic",
       "approach": "Realistic",
       "classification": "Platform",
       "classification": "Platform",
@@ -57,11 +35,11 @@
       "language": "Java",
       "language": "Java",
       "flavor": "None",
       "flavor": "None",
       "orm": "Raw",
       "orm": "Raw",
-      "platform": "Light-Java",
+      "platform": "Light-4J",
       "webserver": "None",
       "webserver": "None",
       "os": "Linux",
       "os": "Linux",
       "database_os": "Linux",
       "database_os": "Linux",
-      "display_name": "light-java",
+      "display_name": "light-4j",
       "notes": "",
       "notes": "",
       "versus": ""
       "versus": ""
     }
     }

+ 6 - 7
frameworks/Java/light-java/dependency-reduced-pom.xml

@@ -137,30 +137,29 @@
     </dependency>
     </dependency>
   </dependencies>
   </dependencies>
   <properties>
   <properties>
-    <version.hikaricp>2.5.1</version.hikaricp>
+    <version.hikaricp>2.6.1</version.hikaricp>
     <version.httpasyncclient>4.1.2</version.httpasyncclient>
     <version.httpasyncclient>4.1.2</version.httpasyncclient>
-    <version.jsonpath>2.2.0</version.jsonpath>
     <version.commons.codec>1.10</version.commons.codec>
     <version.commons.codec>1.10</version.commons.codec>
-    <version.metrics>3.1.2</version.metrics>
+    <version.jsonpath>2.2.0</version.jsonpath>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     <version.encoder>1.2</version.encoder>
     <version.encoder>1.2</version.encoder>
     <version.httpclient>4.5.2</version.httpclient>
     <version.httpclient>4.5.2</version.httpclient>
-    <version.undertow>1.4.10.Final</version.undertow>
+    <version.undertow>1.2.5.Final</version.undertow>
     <version.jose4j>0.5.2</version.jose4j>
     <version.jose4j>0.5.2</version.jose4j>
     <version.commons-lang>2.6</version.commons-lang>
     <version.commons-lang>2.6</version.commons-lang>
     <java.version>1.8</java.version>
     <java.version>1.8</java.version>
     <version.jackson>2.8.2</version.jackson>
     <version.jackson>2.8.2</version.jackson>
-    <version.light-java>1.2.3</version.light-java>
+    <version.light-java>1.2.5</version.light-java>
     <version.swagger>1.5.10</version.swagger>
     <version.swagger>1.5.10</version.swagger>
     <version.mockito>2.1.0-beta.124</version.mockito>
     <version.mockito>2.1.0-beta.124</version.mockito>
     <version.slf4j>1.7.22</version.slf4j>
     <version.slf4j>1.7.22</version.slf4j>
     <version.commons.io>2.5</version.commons.io>
     <version.commons.io>2.5</version.commons.io>
     <version.logback>1.1.9</version.logback>
     <version.logback>1.1.9</version.logback>
     <version.junit>4.12</version.junit>
     <version.junit>4.12</version.junit>
-    <version.postgres>9.4.1211</version.postgres>
+    <version.postgres>42.1.1</version.postgres>
     <version.antlr4>4.5.3</version.antlr4>
     <version.antlr4>4.5.3</version.antlr4>
     <version.mysql>5.1.41</version.mysql>
     <version.mysql>5.1.41</version.mysql>
-    <version.light-java-rest>1.2.3</version.light-java-rest>
+    <version.light-java-rest>1.2.5</version.light-java-rest>
   </properties>
   </properties>
 </project>
 </project>
 
 

+ 2 - 114
frameworks/Java/light-java/pom.xml

@@ -36,9 +36,9 @@
         <version.httpclient>4.5.2</version.httpclient>
         <version.httpclient>4.5.2</version.httpclient>
         <version.httpasyncclient>4.1.2</version.httpasyncclient>
         <version.httpasyncclient>4.1.2</version.httpasyncclient>
         <version.swagger>1.5.10</version.swagger>
         <version.swagger>1.5.10</version.swagger>
-        <version.hikaricp>2.5.1</version.hikaricp>
+        <version.hikaricp>2.6.1</version.hikaricp>
         <version.mysql>5.1.41</version.mysql>
         <version.mysql>5.1.41</version.mysql>
-        <version.postgres>9.4.1211</version.postgres>
+        <version.postgres>42.1.1</version.postgres>
     </properties>
     </properties>
 
 
     <dependencies>
     <dependencies>
@@ -57,21 +57,6 @@
             <artifactId>security</artifactId>
             <artifactId>security</artifactId>
             <version>${version.light-java}</version>
             <version>${version.light-java}</version>
         </dependency>
         </dependency>
-        <dependency>
-            <groupId>com.networknt</groupId>
-            <artifactId>client</artifactId>
-            <version>${version.light-java}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.networknt</groupId>
-            <artifactId>audit</artifactId>
-            <version>${version.light-java}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.networknt</groupId>
-            <artifactId>info</artifactId>
-            <version>${version.light-java}</version>
-        </dependency>
         <dependency>
         <dependency>
             <groupId>com.networknt</groupId>
             <groupId>com.networknt</groupId>
             <artifactId>status</artifactId>
             <artifactId>status</artifactId>
@@ -82,109 +67,22 @@
             <artifactId>exception</artifactId>
             <artifactId>exception</artifactId>
             <version>${version.light-java}</version>
             <version>${version.light-java}</version>
         </dependency>
         </dependency>
-        <dependency>
-            <groupId>com.networknt</groupId>
-            <artifactId>body</artifactId>
-            <version>${version.light-java}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.networknt</groupId>
-            <artifactId>mask</artifactId>
-            <version>${version.light-java}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.networknt</groupId>
-            <artifactId>metrics</artifactId>
-            <version>${version.light-java}</version>
-        </dependency>
         <dependency>
         <dependency>
             <groupId>com.networknt</groupId>
             <groupId>com.networknt</groupId>
             <artifactId>handler</artifactId>
             <artifactId>handler</artifactId>
             <version>${version.light-java}</version>
             <version>${version.light-java}</version>
         </dependency>
         </dependency>
-        <dependency>
-            <groupId>com.networknt</groupId>
-            <artifactId>sanitizer</artifactId>
-            <version>${version.light-java}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.networknt</groupId>
-            <artifactId>traceability</artifactId>
-            <version>${version.light-java}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.networknt</groupId>
-            <artifactId>correlation</artifactId>
-            <version>${version.light-java}</version>
-        </dependency>
         <dependency>
         <dependency>
             <groupId>com.networknt</groupId>
             <groupId>com.networknt</groupId>
             <artifactId>service</artifactId>
             <artifactId>service</artifactId>
             <version>${version.light-java}</version>
             <version>${version.light-java}</version>
         </dependency>
         </dependency>
-       <dependency>
-            <groupId>com.networknt</groupId>
-            <artifactId>registry</artifactId>
-            <version>${version.light-java}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.networknt</groupId>
-            <artifactId>balance</artifactId>
-            <version>${version.light-java}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.networknt</groupId>
-            <artifactId>cluster</artifactId>
-            <version>${version.light-java}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.networknt</groupId>
-            <artifactId>consul</artifactId>
-            <version>${version.light-java}</version>
-        </dependency>
         <dependency>
         <dependency>
             <groupId>com.networknt</groupId>
             <groupId>com.networknt</groupId>
             <artifactId>server</artifactId>
             <artifactId>server</artifactId>
             <version>${version.light-java}</version>
             <version>${version.light-java}</version>
         </dependency>
         </dependency>
 
 
-        <dependency>
-            <groupId>com.networknt</groupId>
-            <artifactId>swagger-meta</artifactId>
-            <version>${version.light-java-rest}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.networknt</groupId>
-            <artifactId>swagger-security</artifactId>
-            <version>${version.light-java-rest}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.networknt</groupId>
-            <artifactId>swagger-validator</artifactId>
-            <version>${version.light-java-rest}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>com.fasterxml.jackson.core</groupId>
-            <artifactId>jackson-databind</artifactId>
-            <version>${version.jackson}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.fasterxml.jackson.core</groupId>
-            <artifactId>jackson-core</artifactId>
-            <version>${version.jackson}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.jayway.jsonpath</groupId>
-            <artifactId>json-path</artifactId>
-            <version>${version.jsonpath}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>net.minidev</groupId>
-                    <artifactId>json-smart</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
         <dependency>
         <dependency>
             <groupId>ch.qos.logback</groupId>
             <groupId>ch.qos.logback</groupId>
             <artifactId>logback-classic</artifactId>
             <artifactId>logback-classic</artifactId>
@@ -195,16 +93,6 @@
             <artifactId>undertow-core</artifactId>
             <artifactId>undertow-core</artifactId>
             <version>${version.undertow}</version>
             <version>${version.undertow}</version>
         </dependency>
         </dependency>
-        <dependency>
-            <groupId>io.swagger</groupId>
-            <artifactId>swagger-annotations</artifactId>
-            <version>${version.swagger}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.httpcomponents</groupId>
-            <artifactId>httpclient</artifactId>
-            <version>${version.httpclient}</version>
-        </dependency>
         <dependency>
         <dependency>
             <groupId>com.zaxxer</groupId>
             <groupId>com.zaxxer</groupId>
             <artifactId>HikariCP</artifactId>
             <artifactId>HikariCP</artifactId>

+ 10 - 7
frameworks/Java/light-java/src/main/java/com/networknt/techempower/Helper.java

@@ -58,13 +58,16 @@ public final class Helper {
 
 
     private static final int cpuCount = Runtime.getRuntime().availableProcessors();
     private static final int cpuCount = Runtime.getRuntime().availableProcessors();
 
 
-    // todo: parameterize multipliers
-    public static ExecutorService EXECUTOR =
-            new ThreadPoolExecutor(
-                    cpuCount * 2, cpuCount * 25, 200, TimeUnit.MILLISECONDS,
-                    new LinkedBlockingQueue<Runnable>(cpuCount * 100),
-                    new ThreadPoolExecutor.CallerRunsPolicy());
-
+    public static final Executor executor =
+            Executors.newFixedThreadPool(2000,
+                    new ThreadFactory() {
+                        @Override
+                        public Thread newThread(Runnable r) {
+                            Thread t = new Thread(r);
+                            t.setDaemon(true);
+                            return t;
+                        }
+                    });
 
 
     public static World selectWorld(DataSource ds) {
     public static World selectWorld(DataSource ds) {
         try (final Connection connection = ds.getConnection()) {
         try (final Connection connection = ds.getConnection()) {

+ 10 - 10
frameworks/Java/light-java/src/main/java/com/networknt/techempower/PathHandlerProvider.java

@@ -12,16 +12,16 @@ public class PathHandlerProvider implements HandlerProvider {
     @Override
     @Override
     public HttpHandler getHandler() {
     public HttpHandler getHandler() {
         return Handlers.path()
         return Handlers.path()
-            .addPrefixPath("/db/mysql", new DbMysqlGetHandler())
-            .addPrefixPath("/db/postgresql", new DbPostgresqlGetHandler())
-            .addPrefixPath("/fortunes/mysql", new FortunesMysqlGetHandler())
-            .addPrefixPath("/fortunes/postgresql", new FortunesPostgresqlGetHandler())
-            .addPrefixPath("/json", new JsonGetHandler())
-            .addPrefixPath("/plaintext", new PlaintextGetHandler())
-            .addPrefixPath("/queries/mysql", new QueriesMysqlGetHandler())
-            .addPrefixPath("/queries/postgresql", new QueriesPostgresqlGetHandler())
-            .addPrefixPath("/updates/mysql", new UpdatesMysqlGetHandler())
-            .addPrefixPath("/updates/postgresql", new UpdatesPostgresqlGetHandler())
+            //.addExactPath("/db/mysql", new DbMysqlGetHandler())
+            .addExactPath("/plaintext", new PlaintextGetHandler())
+            .addExactPath("/json", new JsonGetHandler())
+            .addExactPath("/db", new DbPostgresqlGetHandler())
+            //.addExactPath("/fortunes/mysql", new FortunesMysqlGetHandler())
+            .addExactPath("/fortunes", new FortunesPostgresqlGetHandler())
+            //.addExactPath("/queries/mysql", new QueriesMysqlGetHandler())
+            .addExactPath("/queries", new QueriesPostgresqlGetHandler())
+            //.addExactPath("/updates/mysql", new UpdatesMysqlGetHandler())
+            .addExactPath("/updates", new UpdatesPostgresqlGetHandler())
         ;
         ;
     }
     }
 }
 }

+ 2 - 70
frameworks/Java/light-java/src/main/java/com/networknt/techempower/handler/DbMysqlGetHandler.java

@@ -29,7 +29,7 @@ import javax.sql.DataSource;
 public class DbMysqlGetHandler implements HttpHandler {
 public class DbMysqlGetHandler implements HttpHandler {
     private final DataSource ds = MysqlStartupHookProvider.ds;
     private final DataSource ds = MysqlStartupHookProvider.ds;
     private DslJson<Object> dsl = new DslJson<>();
     private DslJson<Object> dsl = new DslJson<>();
-    private JsonWriter writer = dsl.newWriter(25000);
+    private JsonWriter writer = dsl.newWriter(512);
 
 
     @Override
     @Override
     public void handleRequest(HttpServerExchange exchange) throws Exception {
     public void handleRequest(HttpServerExchange exchange) throws Exception {
@@ -37,75 +37,7 @@ public class DbMysqlGetHandler implements HttpHandler {
             exchange.dispatch(this);
             exchange.dispatch(this);
             return;
             return;
         }
         }
-        /*
-        // throughput 8670 latency 122
-        World[] worlds = new World[1];
-
-        try (final Connection connection = ds.getConnection()) {
-            Map<Integer, Future<World>> futureWorlds = new ConcurrentHashMap<>();
-            futureWorlds.put(0, Helper.EXECUTOR.submit(new Callable<World>(){
-                @Override
-                public World call() throws Exception {
-                    try (PreparedStatement statement = connection.prepareStatement(
-                            "SELECT * FROM world WHERE id = ?",
-                            ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY)) {
-
-                        statement.setInt(1, Helper.randomWorld());
-                        ResultSet resultSet = statement.executeQuery();
-                        resultSet.next();
-                        return new World(
-                                resultSet.getInt("id"),
-                                resultSet.getInt("randomNumber"));
-                    }
-                }
-            }));
-
-            worlds[0] = futureWorlds.get(0).get();
-        }
-
-        exchange.getResponseHeaders().put(Headers.CONTENT_TYPE, Helper.JSON_UTF8);
-        exchange.getResponseSender().send(mapper.writeValueAsString(worlds[0]));
-        */
-
-        /*
-        // throughput 11124 latency 137
-        World world;
-        try (final Connection connection = ds.getConnection()) {
-            try (PreparedStatement statement = connection.prepareStatement(
-                    "SELECT * FROM world WHERE id = ?",
-                    ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY)) {
-
-                statement.setInt(1, Helper.randomWorld());
-                ResultSet resultSet = statement.executeQuery();
-                resultSet.next();
-                world = new World(
-                        resultSet.getInt("id"),
-                        resultSet.getInt("randomNumber"));
-            }
-        }
-        exchange.getResponseHeaders().put(Headers.CONTENT_TYPE, Helper.JSON_UTF8);
-        exchange.getResponseSender().send(mapper.writeValueAsString(world));
-        */
-        /*
-        // throughput 11680 latency 111
-        String s;
-        try (final Connection connection = ds.getConnection()) {
-            try (PreparedStatement statement = connection.prepareStatement(
-                    "SELECT * FROM world WHERE id = ?",
-                    ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY)) {
-
-                statement.setInt(1, Helper.randomWorld());
-                ResultSet resultSet = statement.executeQuery();
-                resultSet.next();
-                s = "{\"id\":" + resultSet.getInt("id") + ",\"randomNumber\":" + resultSet.getInt("randomNumber") + "}";
-            }
-        }
-        exchange.getResponseHeaders().put(Headers.CONTENT_TYPE, Helper.JSON_UTF8);
-        exchange.getResponseSender().send(s);
-        */
-
-        //11731 115
-        exchange.getResponseHeaders().put(Headers.CONTENT_TYPE, "application/json");
+       exchange.getResponseHeaders().put(Headers.CONTENT_TYPE, "application/json");
         World world;
         World world;
         try (final Connection connection = ds.getConnection()) {
         try (final Connection connection = ds.getConnection()) {
             try (PreparedStatement statement = connection.prepareStatement(
             try (PreparedStatement statement = connection.prepareStatement(

+ 1 - 1
frameworks/Java/light-java/src/main/java/com/networknt/techempower/handler/DbPostgresqlGetHandler.java

@@ -26,7 +26,7 @@ import javax.sql.DataSource;
 public class DbPostgresqlGetHandler implements HttpHandler {
 public class DbPostgresqlGetHandler implements HttpHandler {
     private final DataSource ds = PostgresStartupHookProvider.ds;
     private final DataSource ds = PostgresStartupHookProvider.ds;
     private DslJson<Object> dsl = new DslJson<>();
     private DslJson<Object> dsl = new DslJson<>();
-    private JsonWriter writer = dsl.newWriter(1024);
+    private JsonWriter writer = dsl.newWriter(512);
 
 
     @Override
     @Override
     public void handleRequest(HttpServerExchange exchange) throws Exception {
     public void handleRequest(HttpServerExchange exchange) throws Exception {

+ 0 - 4
frameworks/Java/light-java/src/main/java/com/networknt/techempower/handler/FortunesPostgresqlGetHandler.java

@@ -3,13 +3,11 @@ package com.networknt.techempower.handler;
 import com.github.mustachejava.DefaultMustacheFactory;
 import com.github.mustachejava.DefaultMustacheFactory;
 import com.github.mustachejava.Mustache;
 import com.github.mustachejava.Mustache;
 import com.github.mustachejava.MustacheFactory;
 import com.github.mustachejava.MustacheFactory;
-import com.networknt.techempower.db.mysql.MysqlStartupHookProvider;
 import com.networknt.techempower.db.postgres.PostgresStartupHookProvider;
 import com.networknt.techempower.db.postgres.PostgresStartupHookProvider;
 import com.networknt.techempower.model.Fortune;
 import com.networknt.techempower.model.Fortune;
 import io.undertow.server.HttpHandler;
 import io.undertow.server.HttpHandler;
 import io.undertow.server.HttpServerExchange;
 import io.undertow.server.HttpServerExchange;
 import io.undertow.util.Headers;
 import io.undertow.util.Headers;
-import io.undertow.util.HttpString;
 
 
 import java.io.StringWriter;
 import java.io.StringWriter;
 import java.sql.Connection;
 import java.sql.Connection;
@@ -17,8 +15,6 @@ import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.ResultSet;
 import java.util.*;
 import java.util.*;
 
 
-import org.apache.commons.lang3.StringEscapeUtils;
-
 import javax.sql.DataSource;
 import javax.sql.DataSource;
 
 
 public class FortunesPostgresqlGetHandler implements HttpHandler {
 public class FortunesPostgresqlGetHandler implements HttpHandler {

+ 13 - 25
frameworks/Java/light-java/src/main/java/com/networknt/techempower/handler/JsonGetHandler.java

@@ -1,43 +1,31 @@
 package com.networknt.techempower.handler;
 package com.networknt.techempower.handler;
 
 
-import com.dslplatform.json.DslJson;
-import com.dslplatform.json.JsonWriter;
-import com.dslplatform.json.MapConverter;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.networknt.config.Config;
-import com.networknt.techempower.Helper;
+import com.dslplatform.json.*;
 import io.undertow.server.HttpHandler;
 import io.undertow.server.HttpHandler;
 import io.undertow.server.HttpServerExchange;
 import io.undertow.server.HttpServerExchange;
 import io.undertow.util.Headers;
 import io.undertow.util.Headers;
-import io.undertow.util.HttpString;
 
 
 import java.nio.ByteBuffer;
 import java.nio.ByteBuffer;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Objects;
-
-import org.apache.commons.lang3.StringEscapeUtils;
 
 
 public class JsonGetHandler implements HttpHandler {
 public class JsonGetHandler implements HttpHandler {
     private DslJson<Object> dsl = new DslJson<>();
     private DslJson<Object> dsl = new DslJson<>();
-    private JsonWriter writer = dsl.newWriter(1024);
+    private JsonWriter writer = dsl.newWriter(512);
 
 
     @Override
     @Override
     public void handleRequest(HttpServerExchange exchange) throws Exception {
     public void handleRequest(HttpServerExchange exchange) throws Exception {
-        /*
-        // 946188.45 2.63
-        exchange.getResponseHeaders().put(
-                Headers.CONTENT_TYPE, "application/json");
-        exchange.getResponseSender().send(ByteBuffer.wrap(
-                objectMapper.writeValueAsBytes(
-                        Collections.singletonMap("message", "Hello, World!"))));
-        */
-
-        //1014821.63 3.32
         exchange.getResponseHeaders().put(Headers.CONTENT_TYPE, "application/json");
         exchange.getResponseHeaders().put(Headers.CONTENT_TYPE, "application/json");
         writer.reset();
         writer.reset();
-        MapConverter.serialize(Collections.singletonMap("message", "Hello, World!"), writer);
+        dsl.serialize(writer, new Message());
         exchange.getResponseSender().send(ByteBuffer.wrap(writer.toByteArray()));
         exchange.getResponseSender().send(ByteBuffer.wrap(writer.toByteArray()));
     }
     }
+
+    static class Message implements JsonObject {
+        public String message = "Hello, World!";
+        @Override
+        public void serialize(JsonWriter writer, boolean minimal) {
+            writer.writeAscii("{\"message\":");
+            StringConverter.serialize(message, writer);
+            writer.writeByte(com.dslplatform.json.JsonWriter.OBJECT_END);
+        }
+    }
 }
 }

+ 1 - 1
frameworks/Java/light-java/src/main/java/com/networknt/techempower/handler/QueriesMysqlGetHandler.java

@@ -46,7 +46,7 @@ public class QueriesMysqlGetHandler implements HttpHandler {
         int queries = Helper.getQueries(exchange);
         int queries = Helper.getQueries(exchange);
 
 
         List<CompletableFuture<World>> worlds = IntStream.range(0, queries)
         List<CompletableFuture<World>> worlds = IntStream.range(0, queries)
-                .mapToObj(i -> CompletableFuture.supplyAsync(() -> Helper.selectWorld(ds), Helper.EXECUTOR))
+                .mapToObj(i -> CompletableFuture.supplyAsync(() -> Helper.selectWorld(ds), Helper.executor))
                 .collect(Collectors.toList());
                 .collect(Collectors.toList());
 
 
         CompletableFuture<List<World>> allDone = Helper.sequence(worlds);
         CompletableFuture<List<World>> allDone = Helper.sequence(worlds);

+ 1 - 1
frameworks/Java/light-java/src/main/java/com/networknt/techempower/handler/QueriesPostgresqlGetHandler.java

@@ -42,7 +42,7 @@ public class QueriesPostgresqlGetHandler implements HttpHandler {
         int queries = Helper.getQueries(exchange);
         int queries = Helper.getQueries(exchange);
 
 
         List<CompletableFuture<World>> worlds = IntStream.range(0, queries)
         List<CompletableFuture<World>> worlds = IntStream.range(0, queries)
-                .mapToObj(i -> CompletableFuture.supplyAsync(() -> Helper.selectWorld(ds), Helper.EXECUTOR))
+                .mapToObj(i -> CompletableFuture.supplyAsync(() -> Helper.selectWorld(ds), Helper.executor))
                 .collect(Collectors.toList());
                 .collect(Collectors.toList());
 
 
         CompletableFuture<List<World>> allDone = Helper.sequence(worlds);
         CompletableFuture<List<World>> allDone = Helper.sequence(worlds);

+ 1 - 1
frameworks/Java/light-java/src/main/java/com/networknt/techempower/handler/UpdatesMysqlGetHandler.java

@@ -29,7 +29,7 @@ public class UpdatesMysqlGetHandler implements HttpHandler {
         int queries = Helper.getQueries(exchange);
         int queries = Helper.getQueries(exchange);
 
 
         List<CompletableFuture<World>> worlds = IntStream.range(0, queries)
         List<CompletableFuture<World>> worlds = IntStream.range(0, queries)
-                .mapToObj(i -> CompletableFuture.supplyAsync(() -> Helper.updateWorld(ds), Helper.EXECUTOR))
+                .mapToObj(i -> CompletableFuture.supplyAsync(() -> Helper.updateWorld(ds), Helper.executor))
                 .collect(Collectors.toList());
                 .collect(Collectors.toList());
 
 
         CompletableFuture<List<World>> allDone = Helper.sequence(worlds);
         CompletableFuture<List<World>> allDone = Helper.sequence(worlds);

+ 1 - 1
frameworks/Java/light-java/src/main/java/com/networknt/techempower/handler/UpdatesPostgresqlGetHandler.java

@@ -43,7 +43,7 @@ public class UpdatesPostgresqlGetHandler implements HttpHandler {
         int queries = Helper.getQueries(exchange);
         int queries = Helper.getQueries(exchange);
 
 
         List<CompletableFuture<World>> worlds = IntStream.range(0, queries)
         List<CompletableFuture<World>> worlds = IntStream.range(0, queries)
-                .mapToObj(i -> CompletableFuture.supplyAsync(() -> Helper.updateWorld(ds), Helper.EXECUTOR))
+                .mapToObj(i -> CompletableFuture.supplyAsync(() -> Helper.updateWorld(ds), Helper.executor))
                 .collect(Collectors.toList());
                 .collect(Collectors.toList());
 
 
         CompletableFuture<List<World>> allDone = Helper.sequence(worlds);
         CompletableFuture<List<World>> allDone = Helper.sequence(worlds);

+ 1 - 2
frameworks/Java/light-java/src/main/java/com/networknt/techempower/model/World.java

@@ -25,8 +25,7 @@ public final class World implements JsonObject {
 
 
     @Override
     @Override
     public void serialize(JsonWriter writer, boolean minimal) {
     public void serialize(JsonWriter writer, boolean minimal) {
-        writer.writeByte(com.dslplatform.json.JsonWriter.OBJECT_START);
-        writer.writeAscii("\"id\":");
+        writer.writeAscii("{\"id\":");
         NumberConverter.serialize(this.id, writer);
         NumberConverter.serialize(this.id, writer);
         writer.writeAscii(",\"randomNumber\":");
         writer.writeAscii(",\"randomNumber\":");
         NumberConverter.serialize(this.randomNumber, writer);
         NumberConverter.serialize(this.randomNumber, writer);

+ 1 - 3
frameworks/Java/light-java/src/main/resources/META-INF/services/com.networknt.server.StartupHookProvider

@@ -1,9 +1,7 @@
 # This is the place to plugin your startup hooks to initialize Spring application context,
 # This is the place to plugin your startup hooks to initialize Spring application context,
 # set up db connection pools and allocate resources.
 # set up db connection pools and allocate resources.
 
 
-# config Json Path to use Jackson Parser
-com.networknt.server.JsonPathStartupHookProvider
 # init mysql connection pool
 # init mysql connection pool
-com.networknt.techempower.db.mysql.MysqlStartupHookProvider
+# com.networknt.techempower.db.mysql.MysqlStartupHookProvider
 # init postgres connection pool
 # init postgres connection pool
 com.networknt.techempower.db.postgres.PostgresStartupHookProvider
 com.networknt.techempower.db.postgres.PostgresStartupHookProvider

+ 1 - 20
frameworks/Java/light-java/src/main/resources/fortunes.mustache

@@ -1,20 +1 @@
-<!DOCTYPE html>
-<html>
-<head>
-    <title>Fortunes</title>
-</head>
-<body>
-<table>
-    <tr>
-        <th>id</th>
-        <th>message</th>
-    </tr>
-    {{#.}}
-      <tr>
-          <td>{{id}}</td>
-          <td>{{message}}</td>
-      </tr>
-    {{/.}}
-</table>
-</body>
-</html>
+<!DOCTYPE html><html><head><title>Fortunes</title></head><body><table><tr><th>id</th><th>message</th></tr>{{#.}}<tr><td>{{id}}</td><td>{{message}}</td></tr>{{/.}}</table></body></html>

+ 0 - 43
frameworks/Java/light-java/src/test/java/com/networknt/techempower/handler/DbMysqlGetHandlerTest.java

@@ -1,43 +0,0 @@
-package com.networknt.techempower.handler;
-
-import com.networknt.client.Client;
-import com.networknt.server.Server;
-import com.networknt.exception.ClientException;
-import com.networknt.exception.ApiException;
-import org.apache.commons.io.IOUtils;
-import org.apache.http.HttpResponse;
-import org.apache.http.client.ClientProtocolException;
-import org.apache.http.client.ResponseHandler;
-import org.apache.http.client.methods.*;
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.junit.*;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.IOException;
-
-/**
-* Generated by swagger-codegen
-*/
-public class DbMysqlGetHandlerTest {
-    @ClassRule
-    public static TestServer server = TestServer.getInstance();
-
-    static final Logger logger = LoggerFactory.getLogger(DbMysqlGetHandlerTest.class);
-
-    @Test
-    public void testDbMysqlGetHandler() throws ClientException, ApiException {
-        CloseableHttpClient client = Client.getInstance().getSyncClient();
-        HttpGet httpGet = new HttpGet("http://localhost:8080/db/mysql");
-        /*
-        Client.getInstance().addAuthorization(httpPost);
-        try {
-            CloseableHttpResponse response = client.execute(httpGet);
-            Assert.assertEquals(200, response.getStatusLine().getStatusCode());
-            Assert.assertEquals("getQueryMysql", IOUtils.toString(response.getEntity().getContent(), "utf8"));
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-        */
-    }
-}

+ 0 - 43
frameworks/Java/light-java/src/test/java/com/networknt/techempower/handler/DbPostgresqlGetHandlerTest.java

@@ -1,43 +0,0 @@
-package com.networknt.techempower.handler;
-
-import com.networknt.client.Client;
-import com.networknt.server.Server;
-import com.networknt.exception.ClientException;
-import com.networknt.exception.ApiException;
-import org.apache.commons.io.IOUtils;
-import org.apache.http.HttpResponse;
-import org.apache.http.client.ClientProtocolException;
-import org.apache.http.client.ResponseHandler;
-import org.apache.http.client.methods.*;
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.junit.*;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.IOException;
-
-/**
-* Generated by swagger-codegen
-*/
-public class DbPostgresqlGetHandlerTest {
-    @ClassRule
-    public static TestServer server = TestServer.getInstance();
-
-    static final Logger logger = LoggerFactory.getLogger(DbPostgresqlGetHandlerTest.class);
-
-    @Test
-    public void testDbPostgresqlGetHandler() throws ClientException, ApiException {
-        CloseableHttpClient client = Client.getInstance().getSyncClient();
-        HttpGet httpGet = new HttpGet("http://localhost:8080/db/postgresql");
-        /*
-        Client.getInstance().addAuthorization(httpPost);
-        try {
-            CloseableHttpResponse response = client.execute(httpGet);
-            Assert.assertEquals(200, response.getStatusLine().getStatusCode());
-            Assert.assertEquals("getQueryPostgres", IOUtils.toString(response.getEntity().getContent(), "utf8"));
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-        */
-    }
-}

+ 0 - 43
frameworks/Java/light-java/src/test/java/com/networknt/techempower/handler/FortunesMysqlGetHandlerTest.java

@@ -1,43 +0,0 @@
-package com.networknt.techempower.handler;
-
-import com.networknt.client.Client;
-import com.networknt.server.Server;
-import com.networknt.exception.ClientException;
-import com.networknt.exception.ApiException;
-import org.apache.commons.io.IOUtils;
-import org.apache.http.HttpResponse;
-import org.apache.http.client.ClientProtocolException;
-import org.apache.http.client.ResponseHandler;
-import org.apache.http.client.methods.*;
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.junit.*;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.IOException;
-
-/**
-* Generated by swagger-codegen
-*/
-public class FortunesMysqlGetHandlerTest {
-    @ClassRule
-    public static TestServer server = TestServer.getInstance();
-
-    static final Logger logger = LoggerFactory.getLogger(FortunesMysqlGetHandlerTest.class);
-
-    @Test
-    public void testFortunesMysqlGetHandler() throws ClientException, ApiException {
-        CloseableHttpClient client = Client.getInstance().getSyncClient();
-        HttpGet httpGet = new HttpGet("http://localhost:8080/fortunes/mysql");
-        /*
-        Client.getInstance().addAuthorization(httpPost);
-        try {
-            CloseableHttpResponse response = client.execute(httpGet);
-            Assert.assertEquals(200, response.getStatusLine().getStatusCode());
-            Assert.assertEquals("getFortunesMysql", IOUtils.toString(response.getEntity().getContent(), "utf8"));
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-        */
-    }
-}

+ 0 - 43
frameworks/Java/light-java/src/test/java/com/networknt/techempower/handler/FortunesPostgresqlGetHandlerTest.java

@@ -1,43 +0,0 @@
-package com.networknt.techempower.handler;
-
-import com.networknt.client.Client;
-import com.networknt.server.Server;
-import com.networknt.exception.ClientException;
-import com.networknt.exception.ApiException;
-import org.apache.commons.io.IOUtils;
-import org.apache.http.HttpResponse;
-import org.apache.http.client.ClientProtocolException;
-import org.apache.http.client.ResponseHandler;
-import org.apache.http.client.methods.*;
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.junit.*;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.IOException;
-
-/**
-* Generated by swagger-codegen
-*/
-public class FortunesPostgresqlGetHandlerTest {
-    @ClassRule
-    public static TestServer server = TestServer.getInstance();
-
-    static final Logger logger = LoggerFactory.getLogger(FortunesPostgresqlGetHandlerTest.class);
-
-    @Test
-    public void testFortunesPostgresqlGetHandler() throws ClientException, ApiException {
-        CloseableHttpClient client = Client.getInstance().getSyncClient();
-        HttpGet httpGet = new HttpGet("http://localhost:8080/fortunes/postgresql");
-        /*
-        Client.getInstance().addAuthorization(httpPost);
-        try {
-            CloseableHttpResponse response = client.execute(httpGet);
-            Assert.assertEquals(200, response.getStatusLine().getStatusCode());
-            Assert.assertEquals("getFortunesPostgres", IOUtils.toString(response.getEntity().getContent(), "utf8"));
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-        */
-    }
-}

+ 0 - 43
frameworks/Java/light-java/src/test/java/com/networknt/techempower/handler/JsonGetHandlerTest.java

@@ -1,43 +0,0 @@
-package com.networknt.techempower.handler;
-
-import com.networknt.client.Client;
-import com.networknt.server.Server;
-import com.networknt.exception.ClientException;
-import com.networknt.exception.ApiException;
-import org.apache.commons.io.IOUtils;
-import org.apache.http.HttpResponse;
-import org.apache.http.client.ClientProtocolException;
-import org.apache.http.client.ResponseHandler;
-import org.apache.http.client.methods.*;
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.junit.*;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.IOException;
-
-/**
-* Generated by swagger-codegen
-*/
-public class JsonGetHandlerTest {
-    @ClassRule
-    public static TestServer server = TestServer.getInstance();
-
-    static final Logger logger = LoggerFactory.getLogger(JsonGetHandlerTest.class);
-
-    @Test
-    public void testJsonGetHandler() throws ClientException, ApiException {
-        CloseableHttpClient client = Client.getInstance().getSyncClient();
-        HttpGet httpGet = new HttpGet("http://localhost:8080/json");
-        /*
-        Client.getInstance().addAuthorization(httpPost);
-        try {
-            CloseableHttpResponse response = client.execute(httpGet);
-            Assert.assertEquals(200, response.getStatusLine().getStatusCode());
-            Assert.assertEquals("getJson", IOUtils.toString(response.getEntity().getContent(), "utf8"));
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-        */
-    }
-}

+ 0 - 43
frameworks/Java/light-java/src/test/java/com/networknt/techempower/handler/PlaintextGetHandlerTest.java

@@ -1,43 +0,0 @@
-package com.networknt.techempower.handler;
-
-import com.networknt.client.Client;
-import com.networknt.server.Server;
-import com.networknt.exception.ClientException;
-import com.networknt.exception.ApiException;
-import org.apache.commons.io.IOUtils;
-import org.apache.http.HttpResponse;
-import org.apache.http.client.ClientProtocolException;
-import org.apache.http.client.ResponseHandler;
-import org.apache.http.client.methods.*;
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.junit.*;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.IOException;
-
-/**
-* Generated by swagger-codegen
-*/
-public class PlaintextGetHandlerTest {
-    @ClassRule
-    public static TestServer server = TestServer.getInstance();
-
-    static final Logger logger = LoggerFactory.getLogger(PlaintextGetHandlerTest.class);
-
-    @Test
-    public void testPlaintextGetHandler() throws ClientException, ApiException {
-        CloseableHttpClient client = Client.getInstance().getSyncClient();
-        HttpGet httpGet = new HttpGet("http://localhost:8080/plaintext");
-        /*
-        Client.getInstance().addAuthorization(httpPost);
-        try {
-            CloseableHttpResponse response = client.execute(httpGet);
-            Assert.assertEquals(200, response.getStatusLine().getStatusCode());
-            Assert.assertEquals("getPlainText", IOUtils.toString(response.getEntity().getContent(), "utf8"));
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-        */
-    }
-}

+ 0 - 43
frameworks/Java/light-java/src/test/java/com/networknt/techempower/handler/QueriesMysqlGetHandlerTest.java

@@ -1,43 +0,0 @@
-package com.networknt.techempower.handler;
-
-import com.networknt.client.Client;
-import com.networknt.server.Server;
-import com.networknt.exception.ClientException;
-import com.networknt.exception.ApiException;
-import org.apache.commons.io.IOUtils;
-import org.apache.http.HttpResponse;
-import org.apache.http.client.ClientProtocolException;
-import org.apache.http.client.ResponseHandler;
-import org.apache.http.client.methods.*;
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.junit.*;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.IOException;
-
-/**
-* Generated by swagger-codegen
-*/
-public class QueriesMysqlGetHandlerTest {
-    @ClassRule
-    public static TestServer server = TestServer.getInstance();
-
-    static final Logger logger = LoggerFactory.getLogger(QueriesMysqlGetHandlerTest.class);
-
-    @Test
-    public void testQueriesMysqlGetHandler() throws ClientException, ApiException {
-        CloseableHttpClient client = Client.getInstance().getSyncClient();
-        HttpGet httpGet = new HttpGet("http://localhost:8080/queries/mysql");
-        /*
-        Client.getInstance().addAuthorization(httpPost);
-        try {
-            CloseableHttpResponse response = client.execute(httpGet);
-            Assert.assertEquals(200, response.getStatusLine().getStatusCode());
-            Assert.assertEquals("getQueriesMysql", IOUtils.toString(response.getEntity().getContent(), "utf8"));
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-        */
-    }
-}

+ 0 - 43
frameworks/Java/light-java/src/test/java/com/networknt/techempower/handler/QueriesPostgresqlGetHandlerTest.java

@@ -1,43 +0,0 @@
-package com.networknt.techempower.handler;
-
-import com.networknt.client.Client;
-import com.networknt.server.Server;
-import com.networknt.exception.ClientException;
-import com.networknt.exception.ApiException;
-import org.apache.commons.io.IOUtils;
-import org.apache.http.HttpResponse;
-import org.apache.http.client.ClientProtocolException;
-import org.apache.http.client.ResponseHandler;
-import org.apache.http.client.methods.*;
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.junit.*;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.IOException;
-
-/**
-* Generated by swagger-codegen
-*/
-public class QueriesPostgresqlGetHandlerTest {
-    @ClassRule
-    public static TestServer server = TestServer.getInstance();
-
-    static final Logger logger = LoggerFactory.getLogger(QueriesPostgresqlGetHandlerTest.class);
-
-    @Test
-    public void testQueriesPostgresqlGetHandler() throws ClientException, ApiException {
-        CloseableHttpClient client = Client.getInstance().getSyncClient();
-        HttpGet httpGet = new HttpGet("http://localhost:8080/queries/postgresql");
-        /*
-        Client.getInstance().addAuthorization(httpPost);
-        try {
-            CloseableHttpResponse response = client.execute(httpGet);
-            Assert.assertEquals(200, response.getStatusLine().getStatusCode());
-            Assert.assertEquals("getQueriesPostgres", IOUtils.toString(response.getEntity().getContent(), "utf8"));
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-        */
-    }
-}

+ 0 - 44
frameworks/Java/light-java/src/test/java/com/networknt/techempower/handler/TestServer.java

@@ -1,44 +0,0 @@
-package com.networknt.techempower.handler;
-
-import com.networknt.server.Server;
-import org.junit.rules.ExternalResource;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import java.util.concurrent.atomic.AtomicInteger;
-
-public class TestServer extends ExternalResource {
-    static final Logger logger = LoggerFactory.getLogger(TestServer.class);
-
-    private static final AtomicInteger refCount = new AtomicInteger(0);
-    private static Server server;
-
-    private static final TestServer instance  = new TestServer();
-
-    public static TestServer getInstance () {
-        return instance;
-    }
-
-    private TestServer() {
-
-    }
-
-    @Override
-    protected void before() {
-        try {
-            if (refCount.get() == 0) {
-                Server.start();
-            }
-        }
-        finally {
-            refCount.getAndIncrement();
-        }
-    }
-
-    @Override
-    protected void after() {
-        refCount.getAndDecrement();
-        if (refCount.get() == 0) {
-            Server.stop();
-        }
-    }
-}

+ 0 - 43
frameworks/Java/light-java/src/test/java/com/networknt/techempower/handler/UpdatesMysqlGetHandlerTest.java

@@ -1,43 +0,0 @@
-package com.networknt.techempower.handler;
-
-import com.networknt.client.Client;
-import com.networknt.server.Server;
-import com.networknt.exception.ClientException;
-import com.networknt.exception.ApiException;
-import org.apache.commons.io.IOUtils;
-import org.apache.http.HttpResponse;
-import org.apache.http.client.ClientProtocolException;
-import org.apache.http.client.ResponseHandler;
-import org.apache.http.client.methods.*;
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.junit.*;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.IOException;
-
-/**
-* Generated by swagger-codegen
-*/
-public class UpdatesMysqlGetHandlerTest {
-    @ClassRule
-    public static TestServer server = TestServer.getInstance();
-
-    static final Logger logger = LoggerFactory.getLogger(UpdatesMysqlGetHandlerTest.class);
-
-    @Test
-    public void testUpdatesMysqlGetHandler() throws ClientException, ApiException {
-        CloseableHttpClient client = Client.getInstance().getSyncClient();
-        HttpGet httpGet = new HttpGet("http://localhost:8080/updates/mysql");
-        /*
-        Client.getInstance().addAuthorization(httpPost);
-        try {
-            CloseableHttpResponse response = client.execute(httpGet);
-            Assert.assertEquals(200, response.getStatusLine().getStatusCode());
-            Assert.assertEquals("getUpdatesMysql", IOUtils.toString(response.getEntity().getContent(), "utf8"));
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-        */
-    }
-}

+ 0 - 36
frameworks/Java/light-java/src/test/java/com/networknt/techempower/handler/UpdatesPostgresqlGetHandlerTest.java

@@ -1,36 +0,0 @@
-package com.networknt.techempower.handler;
-
-import com.networknt.client.Client;
-import com.networknt.exception.ClientException;
-import com.networknt.exception.ApiException;
-import org.apache.http.client.methods.*;
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.junit.*;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
-* Generated by swagger-codegen
-*/
-public class UpdatesPostgresqlGetHandlerTest {
-    @ClassRule
-    public static TestServer server = TestServer.getInstance();
-
-    static final Logger logger = LoggerFactory.getLogger(UpdatesPostgresqlGetHandlerTest.class);
-
-    @Test
-    public void testUpdatesPostgresGetHandler() throws ClientException, ApiException {
-        CloseableHttpClient client = Client.getInstance().getSyncClient();
-        HttpGet httpGet = new HttpGet("http://localhost:8080/updates/postgres");
-        /*
-        Client.getInstance().addAuthorization(httpPost);
-        try {
-            CloseableHttpResponse response = client.execute(httpGet);
-            Assert.assertEquals(200, response.getStatusLine().getStatusCode());
-            Assert.assertEquals("getUpdatesPostgres", IOUtils.toString(response.getEntity().getContent(), "utf8"));
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-        */
-    }
-}

+ 0 - 74
frameworks/Java/light-java/src/test/resources/logback-test.xml

@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  ~ Copyright (c) 2016 Network New Technologies Inc.
-  ~
-  ~ Licensed under the Apache License, Version 2.0 (the "License");
-  ~ You may not use this file except in compliance with the License.
-  ~ You may obtain a copy of the License at
-  ~
-  ~      http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  -->
-
-<configuration>
-    TODO create logger for audit only.
-    http://stackoverflow.com/questions/2488558/logback-to-log-different-messages-to-two-files
-    <turboFilter class="ch.qos.logback.classic.turbo.MarkerFilter">
-        <Marker>PROFILER</Marker>
-        <!--<OnMatch>DENY</OnMatch>-->
-        <OnMatch>NEUTRAL</OnMatch>
-    </turboFilter>
-
-    <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
-        <!-- encoders are assigned the type
-             ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
-        <encoder>
-            <pattern>%d{HH:mm:ss.SSS} [%thread] %X{cId} %-5level %logger{36} - %msg%n</pattern>
-        </encoder>
-    </appender>
-
-    <appender name="log" class="ch.qos.logback.core.FileAppender">
-        <File>target/test.log</File>
-        <Append>false</Append>
-        <layout class="ch.qos.logback.classic.PatternLayout">
-            <Pattern>%d{HH:mm:ss.SSS} [%thread] %X{cId} %-5level %class{36}:%L %M - %msg%n</Pattern>
-        </layout>
-    </appender>
-
-    <!--audit log-->
-    <appender name="audit" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <file>target/audit.log</file> <!-- logfile location -->
-        <encoder>
-            <pattern>%-5level [%thread] %date{ISO8601} %F:%L - %msg%n
-            </pattern> <!-- the layout pattern used to format log entries -->
-            <immediateFlush>true</immediateFlush>
-        </encoder>
-        <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
-            <fileNamePattern>target/audit.log.%i.zip</fileNamePattern>
-            <minIndex>1</minIndex>
-            <maxIndex>5</maxIndex> <!-- max number of archived logs that are kept -->
-        </rollingPolicy>
-        <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
-            <maxFileSize>200MB
-            </maxFileSize> <!-- The size of the logfile that triggers a switch to a new logfile, and the current one archived -->
-        </triggeringPolicy>
-    </appender>
-
-    <root level="error">
-        <appender-ref ref="stdout"/>
-    </root>
-
-    <logger name="com.networknt" level="error">
-        <appender-ref ref="log"/>
-    </logger>
-
-    <logger name="Audit" level="error" additivity="false">
-        <appender-ref ref="audit"/>
-    </logger>
-
-</configuration>