zoukankan      html  css  js  c++  java
  • Tomcat源码

    BootStrap

    BootStrap是Tomcat的入口类
    

    源码流程图

    源码启动过程:

    ContainerBase的类关系图

    ContainerBase.startInternal()方法

    // Start our child containers, if any
    Container children[] = findChildren();
    List<Future<Void>> results = new ArrayList<>();
    for (int i = 0; i < children.length; i++) {
     // 这句代码就是会调用ContainerBase下的一个个子容器的call方法
     results.add(startStopExecutor.submit(new StartChild(children[i])));
    }
    

    查看new StartChild要执行的call方法

    private static class StartChild implements Callable<Void> {
        private Container child;
        public StartChild(Container child) {
          this.child = child;
       }
        @Override
        public Void call() throws LifecycleException {
          child.start();
          return null;
       }
     }
    

    如下图可以清晰的看出container包含的组件

    StandardHost将一个个web项目部署起来

    StandardContext.startInternal()解析web.xml和添加wrapper

  • 相关阅读:
    类的创建
    线性规划
    break、continue、pass介绍
    array numpy 模块
    hive字符串函数
    进化的Spark, 从DataFrame说起
    hive sql split 分隔符
    Spark On YARN内存分配
    浅谈Spark应用程序的性能调优
    Spark-Mllib(二)基本统计
  • 原文地址:https://www.cnblogs.com/snail-gao/p/12165439.html
Copyright © 2011-2022 走看看