1
|
1 package jp.ac.u_ryukyu.ie.cr.bbs.local;
|
|
2
|
|
3 import me.prettyprint.hector.api.HConsistencyLevel;
|
|
4 import org.mortbay.jetty.Connector;
|
|
5 import org.mortbay.jetty.Server;
|
|
6 import org.mortbay.jetty.nio.SelectChannelConnector;
|
|
7 import org.mortbay.jetty.servlet.ServletHandler;
|
|
8 import org.mortbay.jetty.servlet.ServletHolder;
|
|
9 import org.mortbay.thread.QueuedThreadPool;
|
|
10
|
|
11 import javax.servlet.Servlet;
|
|
12
|
|
13
|
|
14 /**
|
|
15 * Hello world!
|
|
16 *
|
|
17 */
|
|
18 public class App
|
|
19 {
|
|
20 public static void main( String[] args ) throws Exception
|
|
21 {
|
|
22 BulletinBoard cassaBBS = null;
|
|
23 if(args.length == 0){
|
|
24 cassaBBS = new JungleBulletinBoard();
|
|
25 }else{
|
|
26 HConsistencyLevel cLevel = HConsistencyLevel.QUORUM;
|
|
27 int rep_factor = 1;
|
|
28 int i=0;
|
|
29 while(i<args.length) {
|
|
30 if(args[i].equals("-all")) {
|
|
31 cLevel = HConsistencyLevel.ALL;
|
|
32 }else if(args[i].equals("-one")){
|
|
33 cLevel = HConsistencyLevel.ONE;
|
|
34 }else if(args[i].equals("-quorum")){
|
|
35 cLevel = HConsistencyLevel.QUORUM;
|
|
36 }else if(args[i].equals("-any")){
|
|
37 cLevel = HConsistencyLevel.ANY;
|
|
38 }else if(args[i].equals("-rep")){
|
|
39 i++;
|
|
40 rep_factor = Integer.parseInt(args[i]);
|
|
41 }
|
|
42 i++;
|
|
43 }
|
|
44 System.out.println("ConsistencyLevel "+cLevel.toString());
|
|
45 System.out.println("Replication factor "+rep_factor);
|
|
46 cassaBBS = new CassandraBulletinBoard("test-cluster","localhost:9160","cassaBBS2", cLevel, rep_factor);
|
|
47 }
|
4
|
48
|
1
|
49 String createBoardMessagePath = "/createBoardMessage";
|
|
50 String createBoardPath = "/createBoard";
|
|
51 String editMessagePath = "/editMessage";
|
|
52 String showBoardMessagePath = "/showBoardMessage";
|
|
53
|
|
54 Servlet createBoardMessage = new CreateBoardMessageServlet(cassaBBS);
|
|
55 Servlet createBoard = new CreateBoardServlet(cassaBBS);
|
|
56 Servlet editBoardMessage = new EditMessageServlet(cassaBBS);
|
|
57 Servlet index = new ShowBoardsServlet(cassaBBS,createBoardPath,showBoardMessagePath);
|
|
58 Servlet board = new ShowBoardMessageServlet(cassaBBS,createBoardMessagePath,editMessagePath);
|
|
59
|
|
60 // Server serv = new Server(8080);
|
|
61 Server serv = new Server();
|
|
62 SelectChannelConnector connector = new SelectChannelConnector();
|
|
63 connector.setPort(8080);
|
|
64 connector.setThreadPool(new QueuedThreadPool(1000));
|
|
65 serv.setConnectors(new Connector[] { connector });
|
|
66
|
|
67 ServletHandler context = new ServletHandler();
|
|
68 context.addServletWithMapping(new ServletHolder(createBoardMessage),createBoardMessagePath);
|
|
69 context.addServletWithMapping(new ServletHolder(createBoard),createBoardPath);
|
|
70 context.addServletWithMapping(new ServletHolder(editBoardMessage),editMessagePath);
|
|
71 context.addServletWithMapping(new ServletHolder(index),"/");
|
|
72 context.addServletWithMapping(new ServletHolder(board),showBoardMessagePath);
|
|
73 /*
|
|
74 * For write benchmark
|
|
75 */
|
|
76 String editMessageUseGetPath = "/editMessageUseGet";
|
|
77 Servlet editMessageUseGet = new EditMessageUseGetServlet(cassaBBS);
|
|
78 context.addServletWithMapping(new ServletHolder(editMessageUseGet), editMessageUseGetPath);
|
|
79
|
|
80 serv.addHandler(context);
|
|
81 serv.start();
|
|
82 }
|
|
83 }
|