diff --git a/pom.xml b/pom.xml new file mode 100644 index 00000000..a2631630 --- /dev/null +++ b/pom.xml @@ -0,0 +1,44 @@ + + 4.0.0 + org.bench4q + bench4q-master + jar + 0.0.1-SNAPSHOT + Bench4Q Master + Bench4Q Master + + TCSE, ISCAS + + + + junit + junit + 4.11 + test + + + org.eclipse.jetty + jetty-server + 8.1.11.v20130520 + + + org.eclipse.jetty + jetty-servlet + 8.1.11.v20130520 + + + org.springframework + spring-webmvc + 3.2.3.RELEASE + + + org.codehaus.jackson + jackson-mapper-asl + 1.9.12 + + + + bench4q-master + + \ No newline at end of file diff --git a/src/main/java/org/bench4q/master/Main.java b/src/main/java/org/bench4q/master/Main.java new file mode 100644 index 00000000..45aede99 --- /dev/null +++ b/src/main/java/org/bench4q/master/Main.java @@ -0,0 +1,9 @@ +package org.bench4q.master; + + +public class Main { + public static void main(String[] args) { + MasterServer masterServer = new MasterServer(8080); + masterServer.start(); + } +} diff --git a/src/main/java/org/bench4q/master/MasterServer.java b/src/main/java/org/bench4q/master/MasterServer.java new file mode 100644 index 00000000..3040913a --- /dev/null +++ b/src/main/java/org/bench4q/master/MasterServer.java @@ -0,0 +1,67 @@ +package org.bench4q.master; + +import org.eclipse.jetty.server.Connector; +import org.eclipse.jetty.server.Server; +import org.eclipse.jetty.server.bio.SocketConnector; +import org.eclipse.jetty.servlet.ServletContextHandler; +import org.eclipse.jetty.servlet.ServletHolder; +import org.springframework.web.servlet.DispatcherServlet; + +public class MasterServer { + private Server server; + private int port; + + private Server getServer() { + return server; + } + + private void setServer(Server server) { + this.server = server; + } + + private int getPort() { + return port; + } + + private void setPort(int port) { + this.port = port; + } + + public MasterServer(int port) { + this.setPort(port); + } + + public boolean start() { + try { + this.setServer(new Server()); + Connector connector = new SocketConnector(); + connector.setPort(this.getPort()); + this.getServer().addConnector(connector); + ServletContextHandler servletContextHandler = new ServletContextHandler(); + ServletHolder servletHolder = servletContextHandler.addServlet( + DispatcherServlet.class, "/"); + servletHolder.setInitParameter("contextConfigLocation", + "classpath*:/application-context.xml"); + this.getServer().setHandler(servletContextHandler); + this.getServer().start(); + return true; + } catch (Exception e) { + e.printStackTrace(); + return false; + } + } + + public boolean stop() { + try { + if (this.getServer() != null) { + this.getServer().stop(); + } + return true; + } catch (Exception e) { + e.printStackTrace(); + return false; + } finally { + this.setServer(null); + } + } +} diff --git a/src/main/java/org/bench4q/master/api/HomeController.java b/src/main/java/org/bench4q/master/api/HomeController.java new file mode 100644 index 00000000..bbf764f7 --- /dev/null +++ b/src/main/java/org/bench4q/master/api/HomeController.java @@ -0,0 +1,16 @@ +package org.bench4q.master.api; + +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.ResponseBody; + +@Controller +@RequestMapping("/") +public class HomeController { + @RequestMapping(value = { "/" }, method = RequestMethod.GET) + @ResponseBody + public String index() { + return "It works!"; + } +} \ No newline at end of file diff --git a/src/main/resources/application-context.xml b/src/main/resources/application-context.xml new file mode 100644 index 00000000..6c72d7ff --- /dev/null +++ b/src/main/resources/application-context.xml @@ -0,0 +1,10 @@ + + + + +