Thứ Tư, 9 tháng 10, 2013

session handler and resource handle for embedded jetty example


public class WebServer {
   
    private static Logger logger_ = Logger.getLogger(WebServer.class);
   
    public void start() throws Exception {
       
        Server server = new Server();

        // Setup JMX
        MBeanContainer mbContainer = new MBeanContainer(ManagementFactory.getPlatformMBeanServer());
// String mbeanName = "vng.wte.app" + ":type=WebServer";
//
// try {
// mbContainer.getMBeanServer().registerMBean(this, new ObjectName(mbeanName));
// } catch (Exception e) {
// throw new RuntimeException(e);
// }

        server.getContainer().addEventListener(mbContainer);
        server.addBean(mbContainer);
        mbContainer.addBean(Log.getLog());
       
        QueuedThreadPool threadPool = new QueuedThreadPool();
        threadPool.setMinThreads(100);
        threadPool.setMaxThreads(2000);
        server.setThreadPool(threadPool);
       
        int port_listen = Integer.valueOf(ConfigUtil.getParam("rest", "port_listen"));
       
        SelectChannelConnector connector = new SelectChannelConnector();
        connector.setPort(port_listen);
        connector.setMaxIdleTime(30000);
        connector.setConfidentialPort(8443);
        connector.setStatsOn(false);
        connector.setLowResourcesConnections(20000);
        connector.setLowResourcesMaxIdleTime(5000);
       
        server.setConnectors(new Connector[]{connector});
       
       
        ServletHandler handler = new ServletHandler();
        server.setHandler(handler);
       
//        handler.addServletWithMapping("webservlet.IndexControllerServlet", "/index");
//        handler.addServletWithMapping("webservlet.CategoryControllerServlet", "/category");
//        handler.addServletWithMapping("webservlet.IndexControllerServlet", "/*");
       
//        HashSessionIdManager hashSessionIdManager = new HashSessionIdManager();
//        SessionHandler sessionHandler = new SessionHandler();
//        SessionManager sessionManager = new HashSessionManager();
//        sessionManager.setIdManager(hashSessionIdManager);
//        sessionHandler.setSessionManager(sessionManager);
//        sessionHandler.setHandler(handler);
//        sessionHandler.setServer(server);
//        server.setSessionIdManager(hashSessionIdManager);
       
        ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
        context.setContextPath("/");
        context.addServlet("webservlet.IndexServlet", "/index");
        context.addServlet("webservlet.HomeServlet", "/home");
        context.addServlet("webservlet.CategoryServlet", "/category");
        context.addServlet("webservlet.ProductServlet", "/product");
        context.addServlet("webservlet.TestServlet", "/test");
        
        context.addServlet("webservlet.ajax.GetStoreByPhoneCodeServlet", "/ajax/get-store-by-phone-code");
     
       
        //server.setHandler(context);
        //        Resource jettyConfig = Resource.newSystemResource("jetty.xml");
//XmlConfiguration configuration = new XmlConfiguration(jettyConfig.getInputStream());
//Server server1 = (Server)configuration.configure();
       
        ResourceHandler resourse_handle = new ResourceHandler();
        resourse_handle.setDirectoriesListed(true);
        resourse_handle.setResourceBase("static");
        HandlerList handlers = new HandlerList();
        handlers.setHandlers(new Handler[]{resourse_handle, /*handler,*/context});
        server.setHandler(handlers);
             
        server.setStopAtShutdown(true);
        server.setSendServerVersion(true);
       
        server.start();
        server.join();
       
       
       
    }
}

Không có nhận xét nào:

Đăng nhận xét