`
JackyCheng2007
  • 浏览: 253862 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Tomcat 6 启动过程分析 (2) - Catalina

阅读更多
package org.apache.catalina.startup;
public class Catalina extends Embedded

Embedded 类主要负责Catalina 的 Startup/Shutdown。 它继承自Embedded, Embedded又继承自StandardService,并实现Lifecycle接口,StandardService实现了 Lifecycle, Service 和MBeanRegistration 接口。它和Embedded做一样的事情,只不过要用到"conf/server.xml"。

主要方法:

start()
Bootstrap的start方法最后调用了Catalina 的start方法来启动Tomcat。先判断server (org.apache.catalina.Server)是不是null,是的话调用load()方法。
然后启动server: ((Lifecycle) server).start();
然后注册shutdown守护进程。Runtime.getRuntime().addShutdownHook(shutdownHook);
最后调用await()方法,监听指定的端口(8080),等待shutdown命令的到来,以关闭tomcat。
至此,server就启动起来了。

load()
load 方法 开启一个新的 server 实例。server实例是单例的,代表整个JVM, 首先,调用父类 Embedded 的 initDirs() 方法来设置目录:
System.setProperty("catalina.home", catalinaHome);
System.setProperty("catalina.base", catalinaBase);
然后,initNaming();
然后, 构建并执行server.xml解析器 Digester,
       Digester digester = createStartDigester();
       Digester 用来处理XML输入流,也就是解析server.xml。
然后, 装载配置文件server.xml (file = configFile();), 用 digester.parse(inputSource)来构建Server (StandardServer),

最后初始化server, server.initialize()。


分享到:
评论

相关推荐

    Tomcat 6 启动过程分析.doc

    总结来说,Tomcat 6的启动过程涉及到Bootstrap类的初始化、Catalina类的加载和配置解析,以及Digester的XML解析功能。这个过程保证了Tomcat能够正确地加载和应用配置,启动并运行Java Web应用程序。理解这一过程对于...

    Tomcat 6.0启动过程分析

    ### Tomcat 6.0 启动过程分析 #### Bootstrap 类的作用 `Bootstrap` 类作为 Tomcat 的启动入口,承担着构建一个独立的类加载器的任务,用于装载 `Catalina` 的内部类,以此来确保这些内部类与系统的 classpath 相...

    官方原版apache-tomcat-10.0.0-M1-windows-x64.zip 64位

    - **logs目录**: Tomcat的日志信息存储在`%CATALINA_HOME%\logs`下,通过分析日志可以排查运行时问题。 - **JMX监控**: 可以启用JMX(Java Management Extensions)进行远程监控和管理,配置在`server.xml`中的`...

    最新版windows apache-tomcat-9.0.68-windows-x64.zip

    1. **bin目录**:包含启动和停止Tomcat的脚本,如`catalina.bat`、`startup.bat`和`shutdown.bat`,以及JAR文件,用于Tomcat的运行。 2. **conf目录**:存放Tomcat的主要配置文件,例如`server.xml`(定义服务器配置...

    官方原版apache-tomcat-8.5.54-windows-x64.zip

    9. **监控与日志**:Tomcat的`logs`目录中的日志文件可以帮助诊断问题,例如`catalina.out`记录了服务器的启动和运行情况,`localhost_access_log.*.txt`记录了每个HTTP请求的详细信息。 10. **社区支持**:Apache ...

    官方原版apache-tomcat-8.5.51-windows-x64.zip 64位

    1. **bin目录**:这个目录包含了用于启动、停止和管理Tomcat的各种脚本,如`catalina.bat`(Windows批处理文件)和`startup.sh`(Unix/Linux shell脚本)。还有其他辅助工具,如`configtest.bat`用于检查Tomcat配置...

    tomcat8.0源码+catalina-home.rar

    本文将基于"tomcat8.0源码+catalina-home.rar"这个压缩包,详细探讨Tomcat 8.0的核心组件——Catalina Home,并通过源码分析,揭示其内部运行机制。 Catalina是Tomcat服务器的核心部分,负责处理Servlet和JSP请求。...

    apache-tomcat-9.0.2-windows-x64.zip

    1. **bin**:包含了可执行文件,如`catalina.bat`、`startup.bat`和`shutdown.bat`,用于启动和关闭Tomcat服务器。还有其他脚本和工具,如`tomcat-juli.jar`,这是Tomcat的日志系统。 2. **conf**:配置文件存放的...

    tomcat 下catalina.out 日志乱码问题处理

    标题中的“tomcat下catalina.out日志乱码问题处理”主要涉及的是在Tomcat服务器运行过程中,输出的日志文件`catalina.out`中,中文字符显示为乱码的状况。这通常是由于字符编码不匹配导致的,因为Tomcat在读取或写入...

    tomcat 升级到8.5.99后,系统启动不起来问题(修复 CVE-2024-24549 拒绝访问漏洞)

    标题中的“tomcat 升级到8.5.99后,系统启动不起来问题”涉及到的是一个关于Apache Tomcat服务器升级过程中遇到的问题。Apache Tomcat是Java Servlet和JavaServer Pages(JSP)的开源应用服务器,常用于构建和部署...

    apache-tomcat-7.0.62-windows-x64.zip

    - Tomcat的日志信息通常输出在`logs`目录下的文件中,如`catalina.out`、`localhost_access_log.*.txt`等,这对于诊断和调试应用问题非常有帮助。 7. **安全性**: - 虽然免安装简化了部署,但同时也可能带来安全...

    Linux 配置 tomcat 开机启动.txt

    - 首先检查 `$CATALINA_HOME/bin/startup.sh` 文件是否存在,如果存在,则执行此脚本启动 Tomcat。 - 启动后返回一个退出码 `RETVAL` 表示操作是否成功。 3. **定义 stop 函数**: - `stop()` 函数用于停止 ...

    apache-tomcat-7.0.42-windows-x64免安装包

    - 配置环境变量:添加`CATALINA_HOME`指向Tomcat的根目录,并在`PATH`变量中加入`%CATALINA_HOME%\bin`,确保能执行启动脚本。 - 启动和停止:使用`startup.bat`和`shutdown.bat`脚本来启动和关闭Tomcat服务。 - ...

    tomcat启动原理解析

    - Tomcat启动前,首先会检查并配置系统环境,包括JDK版本、JAVA_HOME、CATALINA_HOME等环境变量。 - 阅读`conf/server.xml`配置文件,这是Tomcat的核心配置文件,包含了服务器的全局设置。 2. **加载配置文件** ...

    Linux下tomcat日志catalina.out按天(/周)分割

    默认情况下,Tomcat的主要日志输出文件是`catalina.out`,它记录了服务器启动、运行和关闭过程中的所有标准输出和错误信息。然而,随着服务器运行时间的增长,`catalina.out`可能会变得非常大,导致日志查找和分析变...

    tomcat启动的错误

    这段描述涉及到了Tomcat启动过程中由于MySQL JDBC驱动加载问题导致的常见错误。下面我们将对该问题进行详细分析。 ### 1. MySQL JDBC驱动加载失败 #### 原因分析: - **路径配置错误**:根据错误提示,“Could not...

    TOMCAT的启动.rar

    【标题】:Tomcat启动详解 【描述】:Tomcat是Apache软件基金会的Jakarta项目下的一个开源项目,是一款广泛使用的Java应用服务器,主要用于运行Servlet和JSP。本资料主要探讨Tomcat的启动过程,包括启动配置、环境...

    apache-tomcat-8.5.100.tar.gz

    在本文中,我们将深入探讨Apache Tomcat 8.5.100这一特定版本的重要特性、安装与配置过程,以及如何利用它来托管Web应用。 首先,Apache Tomcat 8.5.x系列是基于Java EE 8规范的,这意味着它支持最新的Servlet 4.0...

    Tomcat启动分析以及如何启动

    Tomcat启动分析与配置详解 Tomcat是一款广泛使用的开源Java Servlet容器,它实现了Java EE的Web应用程序规范。理解Tomcat的启动过程和配置对于优化服务器性能和管理Web应用至关重要。本文将深入解析Tomcat的组成...

Global site tag (gtag.js) - Google Analytics