Mercurial > hg > Members > tatsuki > bbs
diff src/main/java/jp/ac/u_ryukyu/ie/cr/bbs/local/App.java @ 1:64a72a7a0491
add local bbs
author | tatsuki |
---|---|
date | Mon, 27 Jun 2016 04:24:25 +0900 |
parents | |
children | 5acde010c6db |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/bbs/local/App.java Mon Jun 27 04:24:25 2016 +0900 @@ -0,0 +1,83 @@ +package jp.ac.u_ryukyu.ie.cr.bbs.local; + +import me.prettyprint.hector.api.HConsistencyLevel; +import org.mortbay.jetty.Connector; +import org.mortbay.jetty.Server; +import org.mortbay.jetty.nio.SelectChannelConnector; +import org.mortbay.jetty.servlet.ServletHandler; +import org.mortbay.jetty.servlet.ServletHolder; +import org.mortbay.thread.QueuedThreadPool; + +import javax.servlet.Servlet; + + +/** + * Hello world! + * + */ +public class App +{ + public static void main( String[] args ) throws Exception + { + BulletinBoard cassaBBS = null; + if(args.length == 0){ + cassaBBS = new JungleBulletinBoard(); + }else{ + HConsistencyLevel cLevel = HConsistencyLevel.QUORUM; + int rep_factor = 1; + int i=0; + while(i<args.length) { + if(args[i].equals("-all")) { + cLevel = HConsistencyLevel.ALL; + }else if(args[i].equals("-one")){ + cLevel = HConsistencyLevel.ONE; + }else if(args[i].equals("-quorum")){ + cLevel = HConsistencyLevel.QUORUM; + }else if(args[i].equals("-any")){ + cLevel = HConsistencyLevel.ANY; + }else if(args[i].equals("-rep")){ + i++; + rep_factor = Integer.parseInt(args[i]); + } + i++; + } + System.out.println("ConsistencyLevel "+cLevel.toString()); + System.out.println("Replication factor "+rep_factor); + cassaBBS = new CassandraBulletinBoard("test-cluster","localhost:9160","cassaBBS2", cLevel, rep_factor); + } + + String createBoardMessagePath = "/createBoardMessage"; + String createBoardPath = "/createBoard"; + String editMessagePath = "/editMessage"; + String showBoardMessagePath = "/showBoardMessage"; + + Servlet createBoardMessage = new CreateBoardMessageServlet(cassaBBS); + Servlet createBoard = new CreateBoardServlet(cassaBBS); + Servlet editBoardMessage = new EditMessageServlet(cassaBBS); + Servlet index = new ShowBoardsServlet(cassaBBS,createBoardPath,showBoardMessagePath); + Servlet board = new ShowBoardMessageServlet(cassaBBS,createBoardMessagePath,editMessagePath); + +// Server serv = new Server(8080); + Server serv = new Server(); + SelectChannelConnector connector = new SelectChannelConnector(); + connector.setPort(8080); + connector.setThreadPool(new QueuedThreadPool(1000)); + serv.setConnectors(new Connector[] { connector }); + + ServletHandler context = new ServletHandler(); + context.addServletWithMapping(new ServletHolder(createBoardMessage),createBoardMessagePath); + context.addServletWithMapping(new ServletHolder(createBoard),createBoardPath); + context.addServletWithMapping(new ServletHolder(editBoardMessage),editMessagePath); + context.addServletWithMapping(new ServletHolder(index),"/"); + context.addServletWithMapping(new ServletHolder(board),showBoardMessagePath); + /* + * For write benchmark + */ + String editMessageUseGetPath = "/editMessageUseGet"; + Servlet editMessageUseGet = new EditMessageUseGetServlet(cassaBBS); + context.addServletWithMapping(new ServletHolder(editMessageUseGet), editMessageUseGetPath); + + serv.addHandler(context); + serv.start(); + } +}