Search in sources :

Example 41 with Server

use of org.mortbay.jetty.Server in project nutch by apache.

the class ProxyTestbed method main.

/**
 * @param args
 */
public static void main(String[] args) throws Exception {
    if (args.length == 0) {
        System.err.println("TestbedProxy [-seg <segment_name> | -segdir <segments>] [-port <nnn>] [-forward] [-fake] [-delay nnn] [-debug]");
        System.err.println("-seg <segment_name>\tpath to a single segment (can be specified multiple times)");
        System.err.println("-segdir <segments>\tpath to a parent directory of multiple segments (as above)");
        System.err.println("-port <nnn>\trun the proxy on port <nnn> (special permissions may be needed for ports < 1024)");
        System.err.println("-forward\tif specified, requests to all unknown urls will be passed to");
        System.err.println("\t\toriginal servers. If false (default) unknown urls generate 404 Not Found.");
        System.err.println("-delay\tdelay every response by nnn seconds. If delay is negative use a random value up to nnn");
        System.err.println("-fake\tif specified, requests to all unknown urls will succeed with fake content");
        System.exit(-1);
    }
    Configuration conf = NutchConfiguration.create();
    int port = conf.getInt("segment.proxy.port", 8181);
    boolean forward = false;
    boolean fake = false;
    boolean delay = false;
    boolean debug = false;
    int delayVal = 0;
    HashSet<Path> segs = new HashSet<Path>();
    for (int i = 0; i < args.length; i++) {
        if (args[i].equals("-segdir")) {
            FileSystem fs = FileSystem.get(conf);
            FileStatus[] fstats = fs.listStatus(new Path(args[++i]));
            Path[] paths = HadoopFSUtil.getPaths(fstats);
            segs.addAll(Arrays.asList(paths));
        } else if (args[i].equals("-port")) {
            port = Integer.parseInt(args[++i]);
        } else if (args[i].equals("-forward")) {
            forward = true;
        } else if (args[i].equals("-delay")) {
            delay = true;
            delayVal = Integer.parseInt(args[++i]);
        } else if (args[i].equals("-fake")) {
            fake = true;
        } else if (args[i].equals("-debug")) {
            debug = true;
        } else if (args[i].equals("-seg")) {
            segs.add(new Path(args[++i]));
        } else {
            LOG.error("Unknown argument: " + args[i]);
            System.exit(-1);
        }
    }
    // Create the server
    Server server = new Server();
    SocketConnector connector = new SocketConnector();
    connector.setPort(port);
    connector.setResolveNames(false);
    server.addConnector(connector);
    // create a list of handlers
    HandlerList list = new HandlerList();
    server.addHandler(list);
    if (debug) {
        LOG.info("* Added debug handler.");
        list.addHandler(new LogDebugHandler());
    }
    if (delay) {
        LOG.info("* Added delay handler: " + (delayVal < 0 ? "random delay up to " + (-delayVal) : "constant delay of " + delayVal));
        list.addHandler(new DelayHandler(delayVal));
    }
    // XXX alternatively, we can add the DispatchHandler as the first one,
    // XXX to activate handler plugins and redirect requests to appropriate
    // XXX handlers ... Here we always load these handlers
    Iterator<Path> it = segs.iterator();
    while (it.hasNext()) {
        Path p = it.next();
        try {
            SegmentHandler segment = new SegmentHandler(conf, p);
            list.addHandler(segment);
            LOG.info("* Added segment handler for: " + p);
        } catch (Exception e) {
            LOG.warn("Skipping segment '" + p + "': " + StringUtils.stringifyException(e));
        }
    }
    if (forward) {
        LOG.info("* Adding forwarding proxy for all unknown urls ...");
        ServletHandler servlets = new ServletHandler();
        servlets.addServletWithMapping(AsyncProxyServlet.class, "/*");
        servlets.addFilterWithMapping(LogDebugHandler.class, "/*", Handler.ALL);
        list.addHandler(servlets);
    }
    if (fake) {
        LOG.info("* Added fake handler for remaining URLs.");
        list.addHandler(new FakeHandler());
    }
    list.addHandler(new NotFoundHandler());
    // Start the http server
    server.start();
    server.join();
}
Also used : Path(org.apache.hadoop.fs.Path) HandlerList(org.mortbay.jetty.handler.HandlerList) ServletHandler(org.mortbay.jetty.servlet.ServletHandler) FileStatus(org.apache.hadoop.fs.FileStatus) NutchConfiguration(org.apache.nutch.util.NutchConfiguration) Configuration(org.apache.hadoop.conf.Configuration) Server(org.mortbay.jetty.Server) FileSystem(org.apache.hadoop.fs.FileSystem) SocketConnector(org.mortbay.jetty.bio.SocketConnector) HashSet(java.util.HashSet)

Example 42 with Server

use of org.mortbay.jetty.Server in project wso2-axis2-transports by wso2.

the class JettyServer method setUp.

@Setup
@SuppressWarnings("unused")
private void setUp(HttpTestEnvironment env) throws Exception {
    server = new Server();
    SocketListener listener = new SocketListener();
    listener.setPort(env.getServerPort());
    server.addListener(listener);
    context = new HttpContext(server, Channel.CONTEXT_PATH + "/*");
    server.start();
}
Also used : SocketListener(org.mortbay.http.SocketListener) Server(org.mortbay.jetty.Server) HttpContext(org.mortbay.http.HttpContext) Setup(org.apache.axis2.transport.testkit.tests.Setup)

Example 43 with Server

use of org.mortbay.jetty.Server in project ambrose by twitter.

the class ScriptStatusServer method run.

/**
 * Run the server in the current thread.
 */
@Override
public void run() {
    // override newServerSocket to log local port once bound
    Connector connector = new SocketConnector() {

        @Override
        protected ServerSocket newServerSocket(String host, int port, int backlog) throws IOException {
            ServerSocket ss = super.newServerSocket(host, port, backlog);
            int localPort = ss.getLocalPort();
            LOG.info("Ambrose web server listening on port {}", localPort);
            LOG.info("Browse to http://localhost:{}/ to see job progress", localPort);
            return ss;
        }
    };
    connector.setPort(port);
    server = new Server();
    server.setConnectors(new Connector[] { connector });
    // this needs to be loaded via the jar'ed resources, not the relative dir
    String resourcePath = "com/twitter/ambrose/server/web";
    URL resourceUrl = checkNotNull(APIHandler.class.getClassLoader().getResource(resourcePath), "Failed to find resource '%s'", resourcePath);
    ResourceHandler resourceHandler = new ResourceHandler();
    resourceHandler.setWelcomeFiles(new String[] { "workflow.html" });
    resourceHandler.setResourceBase(resourceUrl.toExternalForm());
    HandlerList handler = new HandlerList();
    handler.setHandlers(new Handler[] { resourceHandler, new APIHandler(workflowIndexReadService, statsReadService), new DefaultHandler() });
    server.setHandler(handler);
    server.setStopAtShutdown(false);
    try {
        server.start();
        server.join();
    } catch (Exception e) {
        LOG.error("Error launching ScriptStatusServer", e);
    }
}
Also used : HandlerList(org.mortbay.jetty.handler.HandlerList) Connector(org.mortbay.jetty.Connector) SocketConnector(org.mortbay.jetty.bio.SocketConnector) Server(org.mortbay.jetty.Server) ServerSocket(java.net.ServerSocket) ResourceHandler(org.mortbay.jetty.handler.ResourceHandler) SocketConnector(org.mortbay.jetty.bio.SocketConnector) URL(java.net.URL) IOException(java.io.IOException) DefaultHandler(org.mortbay.jetty.handler.DefaultHandler)

Example 44 with Server

use of org.mortbay.jetty.Server in project pentaho-kettle by pentaho.

the class CustomLocalServerReceiver method getRedirectUri.

public String getRedirectUri() throws IOException {
    if (this.port == -1) {
        this.port = getUnusedPort();
    }
    this.server = new Server(this.port);
    Connector[] arr$ = this.server.getConnectors();
    int len$ = arr$.length;
    for (int i$ = 0; i$ < len$; ++i$) {
        Connector c = arr$[i$];
        c.setHost(this.host);
    }
    this.server.addHandler(new CustomLocalServerReceiver.CallbackHandler());
    try {
        this.server.start();
    } catch (Exception var5) {
        Throwables.propagateIfPossible(var5);
        throw new IOException(var5);
    }
    return "http://" + this.host + ":" + this.port + "/Callback/success.html";
}
Also used : Connector(org.mortbay.jetty.Connector) Server(org.mortbay.jetty.Server) IOException(java.io.IOException) ServletException(javax.servlet.ServletException) IOException(java.io.IOException)

Example 45 with Server

use of org.mortbay.jetty.Server in project roboguice by roboguice.

the class Main method main.

public static void main(String[] args) throws Exception {
    Server server = new Server();
    Connector connector = new SelectChannelConnector();
    connector.setPort(8080);
    server.setConnectors(new Connector[] { connector });
    WebAppContext webapp = new WebAppContext("./root", "/example");
    server.addHandler(webapp);
    server.start();
    server.join();
}
Also used : Connector(org.mortbay.jetty.Connector) SelectChannelConnector(org.mortbay.jetty.nio.SelectChannelConnector) WebAppContext(org.mortbay.jetty.webapp.WebAppContext) SelectChannelConnector(org.mortbay.jetty.nio.SelectChannelConnector) Server(org.mortbay.jetty.Server)

Aggregations

Server (org.mortbay.jetty.Server)54 WebAppContext (org.mortbay.jetty.webapp.WebAppContext)20 SocketConnector (org.mortbay.jetty.bio.SocketConnector)15 SelectChannelConnector (org.mortbay.jetty.nio.SelectChannelConnector)14 Connector (org.mortbay.jetty.Connector)12 ServletHolder (org.mortbay.jetty.servlet.ServletHolder)12 Context (org.mortbay.jetty.servlet.Context)11 IOException (java.io.IOException)8 HandlerList (org.mortbay.jetty.handler.HandlerList)7 ResourceHandler (org.mortbay.jetty.handler.ResourceHandler)7 Handler (org.mortbay.jetty.Handler)6 ServletHandler (org.mortbay.jetty.servlet.ServletHandler)6 ContextHandler (org.mortbay.jetty.handler.ContextHandler)5 DefaultHandler (org.mortbay.jetty.handler.DefaultHandler)5 Configuration (org.apache.hadoop.conf.Configuration)4 FilterHolder (org.mortbay.jetty.servlet.FilterHolder)4 URL (java.net.URL)3 ServletException (javax.servlet.ServletException)3 Before (org.junit.Before)3 SslSocketConnector (org.mortbay.jetty.security.SslSocketConnector)3