Package com.firefly.server

Source Code of com.firefly.server.ServerBootstrap

package com.firefly.server;

import com.firefly.mvc.web.AnnotationWebContext;
import com.firefly.mvc.web.servlet.HttpServletDispatcherController;
import com.firefly.net.Server;
import com.firefly.net.tcp.TcpServer;
import com.firefly.server.http.Config;
import com.firefly.server.http.HttpDecoder;
import com.firefly.server.http.HttpEncoder;
import com.firefly.server.http.HttpHandler;
import com.firefly.utils.log.Log;
import com.firefly.utils.log.LogFactory;

public class ServerBootstrap {
  private static Log log = LogFactory.getInstance().getLog("firefly-system");

  public static void start(String serverHome, String host, int port) {
    Config config = new Config(serverHome, host, port);
    start(config);
  }

  public static void start(String configFileName, String serverHome,
      String host, int port) {
    Config config = new Config(serverHome, host, port);
    config.setConfigFileName(configFileName);
    start(config);
  }

  public static void start(Config config) {
    log.info("server home [{}]", config.getServerHome());
    log.info("context path [{}]", config.getContextPath());
    log.info("servlet path [{}]", config.getServletPath());
    log.info("http handler num [{}]", config.getHandlerSize());

    long start = System.currentTimeMillis();
    AnnotationWebContext context = new AnnotationWebContext(
        config.getConfigFileName(), config.getServerHome());
    HttpServletDispatcherController controller = HttpServletDispatcherController
        .getInstance().init(context);

    config.setEncoding(context.getEncoding());

    Server server = new TcpServer(new HttpDecoder(config),
        new HttpEncoder(), new HttpHandler(controller, config));
    server.start(config.getHost(), config.getPort());
    long end = System.currentTimeMillis();
    log.info("firefly startup in {} ms", (end - start));
  }
}
TOP

Related Classes of com.firefly.server.ServerBootstrap

TOP
Copyright © 2018 www.massapi.com. 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.