diff src/main/java/app/bbs/codesegment/StartBBSCodeSegment.java @ 155:83e99eba6ec1

async thread comtext in showmessage servlet
author tatsuki
date Wed, 09 Jul 2014 19:44:47 +0900
parents a6bf0369f0a6
children 47ca5d48c30f
line wrap: on
line diff
--- a/src/main/java/app/bbs/codesegment/StartBBSCodeSegment.java	Mon Jul 07 12:36:58 2014 +0900
+++ b/src/main/java/app/bbs/codesegment/StartBBSCodeSegment.java	Wed Jul 09 19:44:47 2014 +0900
@@ -6,8 +6,10 @@
 import javax.servlet.Servlet;
 
 import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.handler.HandlerCollection;
 import org.eclipse.jetty.servlet.ServletHandler;
 import org.eclipse.jetty.servlet.ServletHolder;
+import org.eclipse.jetty.util.thread.ThreadPool;
 
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.bbs.CreateBoardMessageServlet;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.bbs.CreateBoardServlet;
@@ -26,86 +28,86 @@
 import app.bbs.ShowMessageWithTimeStampServlet;
 
 public class StartBBSCodeSegment extends CodeSegment {
-	
-	int bbsPort = 8080;
-	Receiver host = ids.create(CommandType.PEEK);
-	private Pattern pattern = Pattern.compile("^(node|cli)([0-9]+)$");
-	private String[] args;
-	boolean persistentFlag = false;
-	
-	public StartBBSCodeSegment(String[] _args, int p) {
-		args = _args;
-		bbsPort = p;
-		host.setKey("host");	
-	}
+
+    int bbsPort = 8080;
+    Receiver host = ids.create(CommandType.PEEK);
+    private Pattern pattern = Pattern.compile("^(node|cli)([0-9]+)$");
+    private String[] args;
+    boolean persistentFlag = false;
+
+    public StartBBSCodeSegment(String[] _args, int p) {
+        args = _args;
+        bbsPort = p;
+        host.setKey("host");	
+    }
+
+    public StartBBSCodeSegment() {
+        args = null;
+        host.setKey("host");	
+    }
+
+    @Override
+    public void run() {
+        String name = host.asString();
+        Matcher matcher = pattern.matcher(name);
+        matcher.find();
+        //		String type = matcher.group(1);
+        for(String arg: args) {
+            if(arg.equals("-persistent")){
+                persistentFlag = true;
+            }
+        }
+        NetworkBulletinBoard cassaBBS = null;
+        if(persistentFlag) {
+            System.out.println("log loading...");
+            cassaBBS = NetworkJungleBulletinBoard.NewPersistentJungle(name);
+            cassaBBS.init();
+        } else {
+            cassaBBS = new NetworkJungleBulletinBoard(name);
+            cassaBBS.init();
+        }
 
-	public StartBBSCodeSegment() {
-		args = null;
-		host.setKey("host");	
-	}
-	
-	@Override
-	public void run() {
-		String name = host.asString();
-		Matcher matcher = pattern.matcher(name);
-		matcher.find();
-//		String type = matcher.group(1);
-		for(String arg: args) {
-			if(arg.equals("-persistent")){
-				persistentFlag = true;
-			}
-		}
-		NetworkBulletinBoard cassaBBS = null;
-		if(persistentFlag) {
-			System.out.println("log loading...");
-			cassaBBS = NetworkJungleBulletinBoard.NewPersistentJungle(name);
-			cassaBBS.init();
-		} else {
-			cassaBBS = new NetworkJungleBulletinBoard(name);
-			cassaBBS.init();
-		}
-		
-		System.out.println("StartBBSCodeSegment");
-		System.out.println("name : "+ name);
-		/* Jetty registration */
-    	String createBoardMessagePath = "/createBoardMessage";
-    	String createBoardPath = "/createBoard";
-    	String editMessagePath = "/editMessage";
-    	String showBoardMessagePath = "/showBoardMessage";
+        System.out.println("StartBBSCodeSegment");
+        System.out.println("name : "+ name);
+        /* Jetty registration */
+        String createBoardMessagePath = "/createBoardMessage";
+        String createBoardPath = "/createBoard";
+        String editMessagePath = "/editMessage";
+        String showBoardMessagePath = "/showBoardMessage";
+
+
+        Server serv = new Server(bbsPort);
+        ThreadPool thp = serv.getThreadPool();
+        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);
+        Servlet board = new ShowMessageWithTimeStampServlet(cassaBBS,createBoardMessagePath,editMessagePath,thp);
 
-       	
-       	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);
-    	Servlet board = new ShowMessageWithTimeStampServlet(cassaBBS,createBoardMessagePath,editMessagePath);
-    	
-    	Server serv = new Server(bbsPort);
-    	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);
-    	String requestNumCheckPath = "/requestNum";
-    	Servlet requestNumCheckServlet = new RequestNumCheckServlet(cassaBBS);
-    	context.addServletWithMapping(new ServletHolder(requestNumCheckServlet), requestNumCheckPath);
-    	
-    	
-    	serv.setHandler(context);
-    	try {
-			serv.start();
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-		new LogUpdateCodeSegment();
-	}
+        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);
+        String requestNumCheckPath = "/requestNum";
+        Servlet requestNumCheckServlet = new RequestNumCheckServlet(cassaBBS);
+        context.addServletWithMapping(new ServletHolder(requestNumCheckServlet), requestNumCheckPath);
+
+        serv.setHandler(context);
+        try {
+            serv.start();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        new LogUpdateCodeSegment();
+    }
 
 }