diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9af87a2b..13bcff0b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,7 +8,7 @@ jobs: strategy: matrix: os: [ubuntu-latest] - java: [11, 16] + java: [8, 11, 16] fail-fast: false runs-on: ${{ matrix.os }} diff --git a/README.md b/README.md index 265bc7af..54ebb418 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,7 @@ Jetty's `LoadGenerator` is an API to load-test HTTP servers, based on Jetty's `H | Jetty Load Generator Version | Jetty Version | Java Version | :---: | :---: | :---: | 1.0.x | 9.4.x | Java 11 +| 1.1.x | 9.4.x | Java 8 | 2.0.x | 11.0.x | Java 11 The design of the `LoadGenerator` is based around these concepts: diff --git a/jetty-load-generator-client/pom.xml b/jetty-load-generator-client/pom.xml index eac15c6e..d1acbed3 100644 --- a/jetty-load-generator-client/pom.xml +++ b/jetty-load-generator-client/pom.xml @@ -1,5 +1,5 @@ - + org.mortbay.jetty.loadgenerator jetty-load-generator @@ -26,10 +26,6 @@ org.eclipse.jetty.http2 http2-http-client-transport - - org.eclipse.jetty - jetty-alpn-java-client - org.eclipse.jetty jetty-util-ajax @@ -50,11 +46,6 @@ jetty-servlet test - - org.eclipse.jetty - jetty-alpn-java-server - test - org.eclipse.jetty jetty-jmx @@ -81,4 +72,41 @@ test + + + + java8 + + 1.8 + + + + org.eclipse.jetty + jetty-alpn-openjdk8-client + + + org.eclipse.jetty + jetty-alpn-openjdk8-server + test + + + + + java9+ + + [9,) + + + + org.eclipse.jetty + jetty-alpn-java-client + + + org.eclipse.jetty + jetty-alpn-java-server + test + + + + diff --git a/jetty-load-generator-client/src/main/java/org/mortbay/jetty/load/generator/LoadGenerator.java b/jetty-load-generator-client/src/main/java/org/mortbay/jetty/load/generator/LoadGenerator.java index 04e472f3..bad9b40d 100644 --- a/jetty-load-generator-client/src/main/java/org/mortbay/jetty/load/generator/LoadGenerator.java +++ b/jetty-load-generator-client/src/main/java/org/mortbay/jetty/load/generator/LoadGenerator.java @@ -445,7 +445,7 @@ public void failed(Throwable x) { } }, nodes); Sender sender = new Sender(client, warmup, treeCallback); - sender.offer(List.of(info)); + sender.offer(Collections.singletonList(info)); sender.send(); } diff --git a/jetty-load-generator-client/src/main/java/org/mortbay/jetty/load/generator/Resource.java b/jetty-load-generator-client/src/main/java/org/mortbay/jetty/load/generator/Resource.java index e4e9f4ed..e95bb302 100644 --- a/jetty-load-generator-client/src/main/java/org/mortbay/jetty/load/generator/Resource.java +++ b/jetty-load-generator-client/src/main/java/org/mortbay/jetty/load/generator/Resource.java @@ -156,7 +156,7 @@ public long getResponseLength() { * @return this Resource */ public Resource resources(Resource... resources) { - this.resources.addAll(List.of(resources)); + this.resources.addAll(Arrays.asList(resources)); return this; } diff --git a/jetty-load-generator-listeners/pom.xml b/jetty-load-generator-listeners/pom.xml index 48f295fc..71d09c51 100644 --- a/jetty-load-generator-listeners/pom.xml +++ b/jetty-load-generator-listeners/pom.xml @@ -1,5 +1,5 @@ - + org.mortbay.jetty.loadgenerator jetty-load-generator diff --git a/jetty-load-generator-listeners/src/main/java/org/mortbay/jetty/load/generator/listeners/ReportListener.java b/jetty-load-generator-listeners/src/main/java/org/mortbay/jetty/load/generator/listeners/ReportListener.java index dc83ef41..d2fcba37 100644 --- a/jetty-load-generator-listeners/src/main/java/org/mortbay/jetty/load/generator/listeners/ReportListener.java +++ b/jetty-load-generator-listeners/src/main/java/org/mortbay/jetty/load/generator/listeners/ReportListener.java @@ -498,7 +498,7 @@ public void toJSON(JSON.Output out) { HistogramLogWriter hw = new HistogramLogWriter(histogramOutput); hw.outputIntervalHistogram(getResponseTimeHistogram()); hw.close(); - out.add("histogram", histogramOutput.toString(StandardCharsets.UTF_8)); + out.add("histogram", new String(histogramOutput.toByteArray(), StandardCharsets.UTF_8)); } @Override diff --git a/jetty-load-generator-starter/pom.xml b/jetty-load-generator-starter/pom.xml index 2d378a7d..2aec5c7b 100644 --- a/jetty-load-generator-starter/pom.xml +++ b/jetty-load-generator-starter/pom.xml @@ -1,5 +1,5 @@ - + org.mortbay.jetty.loadgenerator jetty-load-generator diff --git a/jetty-load-generator-starter/src/main/java/org/mortbay/jetty/load/generator/starter/LoadGeneratorStarter.java b/jetty-load-generator-starter/src/main/java/org/mortbay/jetty/load/generator/starter/LoadGeneratorStarter.java index dc0a3bc6..7aad5990 100644 --- a/jetty-load-generator-starter/src/main/java/org/mortbay/jetty/load/generator/starter/LoadGeneratorStarter.java +++ b/jetty-load-generator-starter/src/main/java/org/mortbay/jetty/load/generator/starter/LoadGeneratorStarter.java @@ -17,7 +17,7 @@ import java.lang.management.ManagementFactory; import java.nio.charset.StandardCharsets; import java.nio.file.Files; -import java.nio.file.Path; +import java.nio.file.Paths; import java.time.Instant; import java.time.ZoneId; import java.time.format.DateTimeFormatter; @@ -69,7 +69,7 @@ public static void main(String[] args) throws Exception { } String statsFile = starterArgs.getStatsFile(); if (statsFile != null) { - try (OutputStream output = Files.newOutputStream(Path.of(statsFile))) { + try (OutputStream output = Files.newOutputStream(Paths.get(statsFile))) { Map map = new HashMap<>(); map.put("config", generator.getConfig()); map.put("report", report); diff --git a/jetty-load-generator-starter/src/test/java/org/mortbay/jetty/load/generator/starter/LoadGeneratorStarterTest.java b/jetty-load-generator-starter/src/test/java/org/mortbay/jetty/load/generator/starter/LoadGeneratorStarterTest.java index 4a63e172..803e2994 100644 --- a/jetty-load-generator-starter/src/test/java/org/mortbay/jetty/load/generator/starter/LoadGeneratorStarterTest.java +++ b/jetty-load-generator-starter/src/test/java/org/mortbay/jetty/load/generator/starter/LoadGeneratorStarterTest.java @@ -24,6 +24,7 @@ import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; +import java.util.Collections; import java.util.List; import java.util.Locale; import java.util.Map; @@ -169,7 +170,7 @@ public void onCommit(Request request) { @Test public void testFromGroovyToJSON() throws Exception { try (Reader reader = Files.newBufferedReader(Paths.get("src/test/resources/tree_resources.groovy"))) { - Resource resource = LoadGeneratorStarterArgs.evaluateGroovy(reader, Map.of()); + Resource resource = LoadGeneratorStarterArgs.evaluateGroovy(reader, Collections.emptyMap()); Path tmpPath = Files.createTempFile("resources_", ".tmp"); tmpPath.toFile().deleteOnExit(); try (BufferedWriter writer = Files.newBufferedWriter(tmpPath, StandardCharsets.UTF_8)) { @@ -184,7 +185,7 @@ public void testFromGroovyToJSON() throws Exception { @Test public void testCalculateDescendantCount() throws Exception { try (Reader reader = Files.newBufferedReader(Paths.get("src/test/resources/tree_resources.groovy"))) { - Resource resource = LoadGeneratorStarterArgs.evaluateGroovy(reader, Map.of()); + Resource resource = LoadGeneratorStarterArgs.evaluateGroovy(reader, Collections.emptyMap()); Assert.assertEquals(17, resource.descendantCount()); } } @@ -223,7 +224,7 @@ public void testFullJSON() { @Test public void testStatsFile() throws Exception { - Path statsPath = Files.createTempFile(Path.of("target"), "jlg-stats-", ".json"); + Path statsPath = Files.createTempFile(Paths.get("target"), "jlg-stats-", ".json"); statsPath.toFile().deleteOnExit(); String[] args = new String[]{ "--port", diff --git a/pom.xml b/pom.xml index e6e7d28f..a60c7e8b 100644 --- a/pom.xml +++ b/pom.xml @@ -1,5 +1,5 @@ - + 4.0.0 org.mortbay.jetty.loadgenerator @@ -73,6 +73,16 @@ jetty-client ${jetty.version} + + org.eclipse.jetty + jetty-alpn-openjdk8-client + ${jetty.version} + + + org.eclipse.jetty + jetty-alpn-openjdk8-server + ${jetty.version} + org.eclipse.jetty jetty-alpn-java-client @@ -153,7 +163,7 @@ - [11,) + [1.8,) [3.5,) @@ -166,9 +176,8 @@ maven-compiler-plugin - 11 - 11 - 11 + 8 + 8 true true -Xlint:all,-serial,-unchecked @@ -284,9 +293,6 @@ 3.2.0 8 - - -html5 - @@ -356,6 +362,30 @@ + + java9+ + + [9,) + + + + + maven-compiler-plugin + + 8 + + + + maven-javadoc-plugin + + + -html5 + + + + + + release