Package org.eclipse.jetty.server

Examples of org.eclipse.jetty.server.Server


        }
       
    }
   
    protected Server createServer() throws Exception {
        Server server = new Server();
        ContextHandlerCollection collection = new ContextHandlerCollection();
        server.setHandler(collection);

        // configure thread pool if min/max given
        if (minThreads != null || maxThreads != null) {
            if (getThreadPool() != null) {
                throw new IllegalArgumentException("You cannot configure both minThreads/maxThreads and a custom threadPool on JettyHttpComponent: " + this);
            }
            QueuedThreadPool qtp = new QueuedThreadPool();
            if (minThreads != null) {
                qtp.setMinThreads(minThreads.intValue());
            }
            if (maxThreads != null) {
                qtp.setMaxThreads(maxThreads.intValue());
            }
            // let the thread names indicate they are from the server
            qtp.setName("CamelJettyServer(" + ObjectHelper.getIdentityHashCode(server) + ")");
            try {
                qtp.start();
            } catch (Exception e) {
                throw new RuntimeCamelException("Error starting JettyServer thread pool: " + qtp, e);
            }
            server.setThreadPool(qtp);
        }

        if (getThreadPool() != null) {
            server.setThreadPool(getThreadPool());
        }

        return server;
    }
View Full Code Here


        String webPort = System.getenv("PORT");
        if(webPort == null || webPort.isEmpty()) {
            webPort = "8080";
        }

        Server server = new Server(Integer.valueOf(webPort));
        WebAppContext root = new WebAppContext();

        root.setContextPath("/");
        root.setDescriptor(webappDirLocation+"/WEB-INF/web.xml");
        root.setResourceBase(webappDirLocation);

        // Add the status servlet
        ServletHolder servletHolder = new ServletHolder(new StatusServlet(pushBot));
        root.addServlet(servletHolder, "/status");

        //Parent loader priority is a class loader setting that Jetty accepts.
        //By default Jetty will behave like most web containers in that it will
        //allow your application to replace non-server libraries that are part of the
        //container. Setting parent loader priority to true changes this behavior.
        //Read more here: http://wiki.eclipse.org/Jetty/Reference/Jetty_Classloading
        root.setParentLoaderPriority(true);

        server.setHandler(root);

        server.start();
        server.join();
    }
View Full Code Here

   
    protected Server server;

    @Before
    public void setUp() throws Exception {
        server = new Server();
        Connector connector = new SelectChannelConnector();
        connector.setHost("localhost");
        connector.setPort(PORT);
        server.addConnector(connector);
       
View Full Code Here


    @BeforeClass
    public static void beforeClass() throws Exception {
        //创建一个server
        server = new Server(8080);
        WebAppContext context = new WebAppContext();
        String webapp = "shiro-example-chapter20/src/main/webapp";
        context.setDescriptor(webapp + "/WEB-INF/web.xml")//指定web.xml配置文件
        context.setResourceBase(webapp)//指定webapp目录
        context.setContextPath("/");
View Full Code Here

                        + ".\n"
                        + "Running in http://localhost:"
                        + port
                        + "\n-------------------------------------------------\n");

        final Server server = new Server();

        final Connector connector = new SelectChannelConnector();

        connector.setPort(port);
        if (serverArgs.containsKey("withssl")) {
            final SslSocketConnector sslConnector = new SslSocketConnector();
            sslConnector.setPort(8444);
            SslContextFactory sslFact = sslConnector.getSslContextFactory();
            sslFact.setTrustStore(KEYSTORE);
            sslFact.setTrustStorePassword("password");
            sslFact.setKeyStorePath(KEYSTORE);
            sslFact.setKeyManagerPassword("password");
            sslFact.setKeyStorePassword("password");
            server.setConnectors(new Connector[] { connector, sslConnector });
        } else {
            server.setConnectors(new Connector[] { connector });
        }

        final WebAppContext webappcontext = new WebAppContext();
        webappcontext.setContextPath(serverArgs.get("context"));
        webappcontext.setWar(serverArgs.get("webroot"));
        server.setHandler(webappcontext);

        // --slowdown=/run/APP/PUBLISHED/*,/other/path/asd.jpg
        // slows down specified paths
        if (serverArgs.containsKey("slowdown")) {
            String[] paths = serverArgs.get("slowdown").split(",");
            for (String p : paths) {
                System.out.println("Slowing down: " + p);
                webappcontext.addFilter(SlowFilter.class, p,
                        EnumSet.of(DispatcherType.REQUEST));
            }
        }
        // --cache=/run/APP/PUBLISHED/*,/other/path/asd.jpg
        // caches specified paths
        if (serverArgs.containsKey("cache")) {
            String[] paths = serverArgs.get("cache").split(",");
            for (String p : paths) {
                System.out.println("Enabling cache for: " + p);
                webappcontext.addFilter(CacheFilter.class, p,
                        EnumSet.of(DispatcherType.REQUEST));
            }
        }

        // --autoreload=all --autoreload=WebContent/classes,other/path
        // --scaninterval=1
        // Configure Jetty to auto-reload when a any class is compiled in
        // any folder included in the list of folders passed as arguments
        // or in the entire classpath if the keyworkd all is passed.
        if (serverArgs.containsKey("autoreload")) {
            int interval = 1;
            if (serverArgs.containsKey("scaninterval")) {
                interval = Integer.parseInt(serverArgs.get("scaninterval"));
            }

            List<File> classFolders = new ArrayList<File>();
            String[] paths = serverArgs.get("autoreload").split(",");
            if (paths.length == 1 && "all".equals(paths[0])) {
                ClassLoader cl = server.getClass().getClassLoader();
                for (URL u : ((URLClassLoader) cl).getURLs()) {
                    File f = new File(u.getPath());
                    if (f.isDirectory()) {
                        classFolders.add(f);
                    }
                }
            } else {
                for (String p : paths) {
                    File f = new File(p);
                    if (f.isDirectory()) {
                        classFolders.add(f);
                    }
                }
            }
            if (!classFolders.isEmpty()) {
                System.out
                        .println("Enabling context auto-reload.\n Scan interval: "
                                + interval + " secs.\n Scanned folders: ");
                for (File f : classFolders) {
                    System.out.println("  " + f.getAbsolutePath());
                    webappcontext.setExtraClasspath(f.getAbsolutePath());
                }
                System.out.println("");

                Scanner scanner = new Scanner();
                scanner.setScanInterval(interval);

                scanner.setRecursive(true);
                scanner.addListener(new Scanner.BulkListener() {
                    @Override
                    public void filesChanged(List<String> filenames)
                            throws Exception {
                        webappcontext.stop();
                        server.stop();
                        webappcontext.start();
                        server.start();
                    }
                });
                scanner.setReportExistingFilesOnStartup(false);
                scanner.setFilenameFilter(new FilenameFilter() {
                    @Override
                    public boolean accept(File folder, String name) {
                        return name.endsWith(".class");
                    }
                });

                scanner.setScanDirs(classFolders);
                scanner.start();
                server.getContainer().addBean(scanner);
            }
        }

        // Read web.xml to find all configured servlets
        webappcontext.start();

        // Reconfigure all servlets to avoid startup delay
        for (ServletHolder servletHolder : webappcontext.getServletHandler()
                .getServlets()) {
            if (servletHolder
                    .getInitParameter("org.atmosphere.cpr.scanClassPath") == null) {
                servletHolder.setInitParameter(
                        "org.atmosphere.cpr.scanClassPath", "false");
            }
        }

        try {
            server.start();

            if (serverArgs.containsKey("shutdownPort")) {
                int shutdownPort = Integer.parseInt(serverArgs
                        .get("shutdownPort"));
                final ServerSocket serverSocket = new ServerSocket(
                        shutdownPort, 1, InetAddress.getByName("127.0.0.1"));
                new Thread() {
                    @Override
                    public void run() {
                        try {
                            System.out
                                    .println("Waiting for shutdown signal on port "
                                            + serverSocket.getLocalPort());
                            // Start waiting for a close signal
                            Socket accept = serverSocket.accept();
                            // First stop listening to the port
                            serverSocket.close();

                            // Start a thread that kills the JVM if
                            // server.stop() doesn't have any effect
                            Thread interruptThread = new Thread() {
                                @Override
                                public void run() {
                                    try {
                                        Thread.sleep(5000);
                                        if (!server.isStopped()) {
                                            System.out
                                                    .println("Jetty still running. Closing JVM.");
                                            dumpThreadStacks();
                                            System.exit(-1);
                                        }
                                    } catch (InterruptedException e) {
                                        // Interrupted if server.stop() was
                                        // successful
                                    }
                                }
                            };
                            interruptThread.setDaemon(true);
                            interruptThread.start();

                            // Then stop the jetty server
                            server.stop();

                            interruptThread.interrupt();

                            // Send a byte to tell the other process that it can
                            // start jetty
                            OutputStream outputStream = accept
                                    .getOutputStream();
                            outputStream.write(0);
                            outputStream.flush();
                            // Finally close the socket
                            accept.close();
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                    }

                }.start();

            }
        } catch (Exception e) {
            server.stop();
            throw e;
        }

        return "http://localhost:" + port + serverArgs.get("context");
    }
View Full Code Here

        new WebServerModule(),
        new URLConfigModule(),
        new SerializerModule(),
        new GuiceCometdModule());

    Server server = injector.getInstance(Server.class);
    server.start();
    System.out.println("Server started");
  }
View Full Code Here

    PluginServiceLocatorRest processStarter = injector.getInstance(PluginServiceLocatorRest.class);
    processStarter.start();

    BeakerConfig bkConfig = injector.getInstance(BeakerConfig.class);

    Server server = injector.getInstance(Server.class);
    server.start();

    // openBrower and show connection instruction message
    final String initUrl = bkConfig.getBaseURL();
    if (openBrowser) {
      injector.getInstance(GeneralUtils.class).openUrl(initUrl);
View Full Code Here

        new WebServerModule(),
        new URLConfigModule(),
        new SerializerModule(),
        new GuiceCometdModule());

    Server server = injector.getInstance(Server.class);
    server.start();
    System.out.println("Server started");
  }
View Full Code Here

  @Provides
  @Singleton
  public Server getServer(final Injector injector, Connector connector) {
    WebServerConfig webServerConfig = injector.getInstance(WebServerConfig.class);
    String staticDir = webServerConfig.getStaticDirectory();
    Server server = new Server();
    server.addConnector(connector);
    ServletContextHandler servletHandler = new ServletContextHandler();
    servletHandler.addEventListener(new GuiceServletContextListener() {
      @Override
      protected Injector getInjector() {
        return injector;
      }
    });

    servletHandler.setSecurityHandler(makeSecurityHandler(System.getenv("beaker_plugin_password")));
    servletHandler.addFilter(GuiceFilter.class, "/*", null);
    servletHandler.addServlet(DefaultServlet.class, "/*");
    servletHandler.setInitParameter("org.eclipse.jetty.servlet.Default.resourceBase", staticDir);
    servletHandler.setInitParameter("maxCacheSize", "0");
    servletHandler.setInitParameter("cacheControl", "no-cache, max-age=0");

    server.setHandler(servletHandler);

    return server;
  }
View Full Code Here

        new GuiceCometdModule());

    RShellRest rrest = injector.getInstance(RShellRest.class);
    rrest.setCorePort(corePort);

    Server server = injector.getInstance(Server.class);
    server.start();
    System.out.println("Server started");
  }
View Full Code Here

TOP

Related Classes of org.eclipse.jetty.server.Server

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.