Bootstrap.main

原创 2015年07月09日 17:06:25

代码

public static void main(String args[]) {

    if (daemon == null) {
        // Don't set daemon until init() has completed
        Bootstrap bootstrap = new Bootstrap();
        try {
            bootstrap.init();
        } catch (Throwable t) {
            handleThrowable(t);
            t.printStackTrace();
            return;
        }
        daemon = bootstrap;
    } else {
        // When running as a service the call to stop will be on a new
        // thread so make sure the correct class loader is used to prevent
        // a range of class not found exceptions.
        Thread.currentThread().setContextClassLoader(daemon.catalinaLoader);
    }

    try {
        String command = "start";
        if (args.length > 0) {
            command = args[args.length - 1];
        }

        if (command.equals("startd")) {
            args[args.length - 1] = "start";
            daemon.load(args);
            daemon.start();
        } else if (command.equals("stopd")) {
            args[args.length - 1] = "stop";
            daemon.stop();
        } else if (command.equals("start")) {
            daemon.setAwait(true);
            daemon.load(args);
            daemon.start();
        } else if (command.equals("stop")) {
            daemon.stopServer(args);
        } else if (command.equals("configtest")) {
            daemon.load(args);
            if (null==daemon.getServer()) {
                System.exit(1);
            }
            System.exit(0);
        } else {
            log.warn("Bootstrap: command \"" + command + "\" does not exist.");
        }
    } catch (Throwable t) {
        // Unwrap the Exception for clearer error reporting
        if (t instanceof InvocationTargetException &&
                t.getCause() != null) {
            t = t.getCause();
        }
        handleThrowable(t);
        t.printStackTrace();
        System.exit(1);
    }

}

解析

bootstrap.init(); //初始化
daemon.setAwait(true);  //是否调用Server.await
daemon.load(args);      //加载
daemon.start();         //启动

Throwable类与异常

Throwable类,异常
  • LGM_Hakka
  • LGM_Hakka
  • 2015年08月12日 08:58
  • 3663

Throwable类的详细解释

概述  软件包   类  使用  树  已过时  索引  帮助    JavaTM 2 Platform Standard Ed. 5.0    上一个类   下一个类 框架    无框架   ...
  • lzabcde
  • lzabcde
  • 2016年01月14日 10:34
  • 9848

BootStrap main 方法都做了什么?

Code public static void main(String args[]) { if (daemon == null) { Bootstrap...
  • u012733415
  • u012733415
  • 2016年02月03日 22:16
  • 231

bootstrap入门步骤

bootstrap入门bootstrap其实是一个项目 或者叫做框架 是能制作自适应平台 一个页面可以自动根据显示设备的分辨率 调整显示方式1.超大分辨率显示器1920 2.普通1024–1...
  • nikita1995
  • nikita1995
  • 2016年07月29日 12:52
  • 809

异常处理Throwable

1、异常分类   Error错误--程序无法处理的错误,表示运行应用程序中较严重问题(运行时异常:StackOverFlowError、OutOfMemoryError)这些错误表示故障发生于虚拟机自...
  • u010796790
  • u010796790
  • 2016年08月12日 19:35
  • 737

JAVA编程——Throwable常见异常及源码详解

Throwable
  • RamProg
  • RamProg
  • 2015年08月16日 00:14
  • 979

从零开始搭建Bootstrap后台框架(开篇)

后台是一个不可缺少的工具,因为运营人员每天都必须花大量时间与之打交道。它在一定程度上影响着运营人员的工作效率。 Bootstrap是Twitter推出的一个用于前端开发的开源工具包,有着非常活跃的社...
  • suilz
  • suilz
  • 2016年06月09日 02:43
  • 15700

纯bootstrap写的后台管理页面

前一段时间在网上找bootstrap写的后台管理系统的模板,可是发现大多都是bootstrap+js写的,而且太过于复杂,所以就自己动手写了一个,写的不好,勿喷 index.html代码 ...
  • admin_java
  • admin_java
  • 2017年09月13日 09:56
  • 634

Java源码侦探--异常体系解读Throwable

Throwable类是整个异常体系类的父级类,当然最终追根溯源到底的父类当然要归于Object类。Throwable类实现了Serializable接口,表示Throwable可以进行序列化,继承自O...
  • wangyang1354
  • wangyang1354
  • 2016年12月02日 21:21
  • 1452

java源码分析(7)-Throwable

 Throwable 1.Throwable类 Throwable类实现了Serializable 接口,此类可用于序列化 public class Throwable implement...
  • qq_29346449
  • qq_29346449
  • 2016年06月01日 17:28
  • 584
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Bootstrap.main
举报原因:
原因补充:

(最多只允许输入30个字)