From 3068788fbc82fe69ec28d143efc321a06056fb90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kjetil=20=C3=98rbekk?= Date: Mon, 16 Jan 2012 20:28:19 +0100 Subject: =?UTF-8?q?Add=20MasterApp=20=E2=80=93=20a=20MasterService=20serve?= =?UTF-8?q?r.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- same/src/main/java/com/orbekk/same/MasterApp.java | 46 +++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 same/src/main/java/com/orbekk/same/MasterApp.java (limited to 'same') diff --git a/same/src/main/java/com/orbekk/same/MasterApp.java b/same/src/main/java/com/orbekk/same/MasterApp.java new file mode 100644 index 0000000..c4154da --- /dev/null +++ b/same/src/main/java/com/orbekk/same/MasterApp.java @@ -0,0 +1,46 @@ +package com.orbekk.same; + +import org.eclipse.jetty.server.Server; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import com.googlecode.jsonrpc4j.JsonRpcServer; + +public class MasterApp { + private Logger logger = LoggerFactory.getLogger(getClass()); + private Server server; + + public void run(int port) { + ConnectionManagerImpl connections = new ConnectionManagerImpl(); + State state = new State("MasterNetwork"); + Broadcaster broadcaster = + BroadcasterImpl.getDefaultBroadcastRunner(connections); + MasterServiceImpl master = new MasterServiceImpl(state, connections, + broadcaster); + JsonRpcServer jsonServer = new JsonRpcServer(master, MasterService.class); + server = new Server(port); + RpcHandler rpcHandler = new RpcHandler(jsonServer, master); + server.setHandler(rpcHandler); + + try { + server.start(); + } catch (Exception e) { + logger.error("Could not start jetty server: {}", e); + } + + try { + server.join(); + } catch (InterruptedException e) { + logger.info("Received exception. Exiting. {}", e); + } + } + + public static void main(String[] args) { + if (args.length < 1) { + System.err.println("Usage: port"); + System.exit(1); + } + int port = Integer.parseInt(args[0]); + (new MasterApp()).run(port); + } +} -- cgit v1.2.3