From 0962fdb4e6d4c3ce4153d7298ff1124a30722db7 Mon Sep 17 00:00:00 2001 From: Greg Wilkins Date: Wed, 17 Oct 2018 11:45:38 +1100 Subject: [PATCH] Moved async rest server to own module Signed-off-by: Greg Wilkins --- examples/async-rest/async-rest-server/pom.xml | 19 +++++++++++++++ .../example/asyncrest/AsyncRestServer.java} | 24 +++++++++++++------ examples/async-rest/async-rest-webapp/pom.xml | 12 +++------- examples/async-rest/pom.xml | 1 + .../org/eclipse/jetty/embedded/OneWebApp.java | 8 +++++-- .../jmx-webapp/src/main/webapp/index.html | 2 ++ 6 files changed, 48 insertions(+), 18 deletions(-) create mode 100644 examples/async-rest/async-rest-server/pom.xml rename examples/async-rest/{async-rest-webapp/src/test/java/org/eclipse/jetty/example/asyncrest/DemoServer.java => async-rest-server/src/main/java/org/eclipse/jetty/example/asyncrest/AsyncRestServer.java} (62%) create mode 100644 tests/test-jmx/jmx-webapp/src/main/webapp/index.html diff --git a/examples/async-rest/async-rest-server/pom.xml b/examples/async-rest/async-rest-server/pom.xml new file mode 100644 index 00000000000..b0ab8b081aa --- /dev/null +++ b/examples/async-rest/async-rest-server/pom.xml @@ -0,0 +1,19 @@ + + + org.eclipse.jetty + example-async-rest + 10.0.0-SNAPSHOT + + 4.0.0 + org.eclipse.jetty.example-async-rest + example-async-rest-server + jar + Example Async Rest :: Server + + + org.eclipse.jetty + jetty-webapp + ${project.version} + + + diff --git a/examples/async-rest/async-rest-webapp/src/test/java/org/eclipse/jetty/example/asyncrest/DemoServer.java b/examples/async-rest/async-rest-server/src/main/java/org/eclipse/jetty/example/asyncrest/AsyncRestServer.java similarity index 62% rename from examples/async-rest/async-rest-webapp/src/test/java/org/eclipse/jetty/example/asyncrest/DemoServer.java rename to examples/async-rest/async-rest-server/src/main/java/org/eclipse/jetty/example/asyncrest/AsyncRestServer.java index aff2a2c3eaa..62467ac48e2 100644 --- a/examples/async-rest/async-rest-webapp/src/test/java/org/eclipse/jetty/example/asyncrest/DemoServer.java +++ b/examples/async-rest/async-rest-server/src/main/java/org/eclipse/jetty/example/asyncrest/AsyncRestServer.java @@ -22,22 +22,32 @@ import org.eclipse.jetty.server.Server; import org.eclipse.jetty.webapp.ClassMatcher; import org.eclipse.jetty.webapp.WebAppContext; -public class DemoServer +import javax.servlet.http.HttpServlet; +import java.nio.file.FileSystems; +import java.nio.file.Files; +import java.nio.file.Path; + +public class AsyncRestServer { public static void main(String[] args) throws Exception { - String jetty_home = System.getProperty("jetty.home","."); + // Find the async-reset webapp based on common IDE working directories + // TODO import webapp as maven artifact + Path home = FileSystems.getDefault().getPath(System.getProperty("jetty.home",".")).toAbsolutePath(); + Path war = home.resolve("../async-rest-webapp/target/async-rest/"); + if (!Files.exists(war)) + war = home.resolve("examples/async-rest/async-rest-webapp/target/async-rest/"); + if (!Files.exists(war)) + throw new IllegalArgumentException("Cannot find async-rest webapp"); + // Build a demo server Server server = new Server(Integer.getInteger("jetty.http.port",8080).intValue()); - WebAppContext webapp = new WebAppContext(); webapp.setContextPath("/"); - webapp.setWar(jetty_home+"/target/async-rest/"); - webapp.setParentLoaderPriority(true); - webapp.setServerClassMatcher(new ClassMatcher()); + webapp.setWar(war.toAbsolutePath().toString()); server.setHandler(webapp); - + server.start(); server.join(); } diff --git a/examples/async-rest/async-rest-webapp/pom.xml b/examples/async-rest/async-rest-webapp/pom.xml index 3b0adf80937..cad12670d5f 100644 --- a/examples/async-rest/async-rest-webapp/pom.xml +++ b/examples/async-rest/async-rest-webapp/pom.xml @@ -19,15 +19,9 @@ ${project.version} - org.eclipse.jetty - jetty-webapp - ${project.version} - test + javax.servlet + javax.servlet-api + provided - - javax.servlet - javax.servlet-api - provided - diff --git a/examples/async-rest/pom.xml b/examples/async-rest/pom.xml index eb1e7b9f123..6329918b069 100644 --- a/examples/async-rest/pom.xml +++ b/examples/async-rest/pom.xml @@ -13,5 +13,6 @@ async-rest-jar async-rest-webapp + async-rest-server diff --git a/examples/embedded/src/main/java/org/eclipse/jetty/embedded/OneWebApp.java b/examples/embedded/src/main/java/org/eclipse/jetty/embedded/OneWebApp.java index 87bfdbf788a..4d4e1822302 100644 --- a/examples/embedded/src/main/java/org/eclipse/jetty/embedded/OneWebApp.java +++ b/examples/embedded/src/main/java/org/eclipse/jetty/embedded/OneWebApp.java @@ -50,8 +50,12 @@ public class OneWebApp // PlusConfiguration) to choosing where the webapp will unpack itself. WebAppContext webapp = new WebAppContext(); webapp.setContextPath("/"); - File warFile = new File( - "../../tests/test-jmx/jmx-webapp/target/jmx-webapp"); + File warFile = new File("../../tests/test-jmx/jmx-webapp/target/jmx-webapp"); + if (!warFile.exists()) + warFile = new File("tests/test-jmx/jmx-webapp/target/jmx-webapp"); + if (!warFile.exists()) + throw new IllegalArgumentException(); + webapp.setWar(warFile.getAbsolutePath()); // A WebAppContext is a ContextHandler as well so it needs to be set to diff --git a/tests/test-jmx/jmx-webapp/src/main/webapp/index.html b/tests/test-jmx/jmx-webapp/src/main/webapp/index.html new file mode 100644 index 00000000000..a7de6b03e53 --- /dev/null +++ b/tests/test-jmx/jmx-webapp/src/main/webapp/index.html @@ -0,0 +1,2 @@ +

JMX Test Webapp

+ping