⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 waditestserver.java

📁 是离开的肌肤了卡机是离开的就富利卡及是了的开发及拉考试及的福利科技阿斯利康的肌肤莱卡及时的离开福建阿斯顿发
💻 JAVA
字号:
/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *  http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */

package org.mortbay.jetty.servlet.wadi;



import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.mortbay.jetty.Connector;
import org.mortbay.jetty.Handler;
import org.mortbay.jetty.Server;
import org.mortbay.jetty.handler.AbstractHandler;
import org.mortbay.jetty.handler.ContextHandler;
import org.mortbay.jetty.handler.HandlerCollection;
import org.mortbay.jetty.nio.SelectChannelConnector;

public class WADITestServer {
    private final int jettyPort;
    private final String nodeName;
    private Server server;
    private WadiCluster wadiCluster;

    public WADITestServer(int jettyPort, String nodeName) {
        if (jettyPort < 1) {
            throw new IllegalArgumentException("jettyPort must be greater than 1");
        } else if (null == nodeName) {
            throw new IllegalArgumentException("nodeName is required");
        }
        this.jettyPort = jettyPort;
        this.nodeName = nodeName;
    }

    public void setUp() throws Exception {
        server = new Server();
        
        setUpConnector();

        wadiCluster = new WadiCluster("CLUSTER", nodeName, "http://localhost:" + jettyPort + "/test");
        
        setUpHandlers();

        startCluster();

        startServer();
    }

    public void startServer() throws Exception {
        server.start();
        server.join();
    }

    public void startCluster() throws Exception {
        wadiCluster.doStart();
    }
    
    protected void setUpHandlers() {
        HandlerCollection handlerCollection = new HandlerCollection();

        Handler handler = newCounterHandler();
        handlerCollection.addHandler(handler);

        handler = newExitHandler();
        handlerCollection.addHandler(handler);
        
        server.setHandler(handlerCollection);
    }
    
    protected ContextHandler newExitHandler() {
        ContextHandler ctx = new ContextHandler();
        ctx.setContextPath("/exit");
        ctx.setHandler(new AbstractHandler() {
            public void handle(String target, HttpServletRequest request, HttpServletResponse response, int dispatch)
                    throws IOException, ServletException {
                System.exit(1);
            }
        });
        return ctx;
    }

    protected ContextHandler newCounterHandler() {
        WadiSessionManager wadiManager = new WadiSessionManager(wadiCluster, 2, 24, 10);
        wadiManager.setMaxInactiveInterval(120);

        WadiSessionHandler wadiHandler = new WadiSessionHandler(wadiManager);
        wadiHandler.setHandler(new CounterHandler());

        ContextHandler ctx = new ContextHandler();
        ctx.setContextPath("/counter");
        ctx.setHandler(wadiHandler);

        return ctx;
    }

    protected void setUpConnector() {
        SelectChannelConnector connector = new SelectChannelConnector();
        connector.setPort(jettyPort);
        server.setConnectors(new Connector[] { connector });
    }

    public static void main(String args[]) throws Exception {
        String port = System.getProperty("jetty.port", "8080");
        String node = System.getProperty("node.name", "red");
        
        new WADITestServer(Integer.parseInt(port), node).setUp();
    }
    
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -