tomcat 容器生命周期lifecycle
1.复习java的事件机制
java事件机制包括三个部分:事件、事件监听器、事件源。
事件:一般继承自java.util.EventObject类,封装了事件源对象及跟事件相关的信息。
事件监听器:实现java.util.EventListener接口,注册在事件源上,当事件源的属性或状态改变时,取得相应的监听器调用其内部的回调方法。
事件源:事件发生的地方,由于事件源的某项属性或状态发生了改变(比如BUTTON被单击、TEXTBOX的值发生改变等等)导致某项事件发生。
2. tomcat的lifecycle
事件定义
public final class LifecycleEvent extends EventObject {
private static final long serialVersionUID = 1L;
// ----------------------------------------------------------- Constructors
/**
* Construct a new LifecycleEvent with the specified parameters.
*
* @param lifecycle Component on which this event occurred
* @param type Event type (required)
* @param data Event data (if any)
*/
public LifecycleEvent(Lifecycle lifecycle, String type, Object data) {
super(lifecycle);
this.type = type;
this.data = data;
} }
事件监听器
/**
* Interface defining a listener for significant events (including "component
* start" and "component stop" generated by a component that implements the
* Lifecycle interface. The listener will be fired after the associated state
* change has taken place.
*
* @author Craig R. McClanahan
* @version $Id: LifecycleListener.java 1200160 2011-11-10 05:35:13Z kkolinko $
*/
public interface LifecycleListener {
/**
* Acknowledge the occurrence of the specified event.
*
* @param event LifecycleEvent that has occurred
*/
public void lifecycleEvent(LifecycleEvent event);
}
* start()
* -----------------------------
* | |
* | init() |
* NEW ->-- INITIALIZING |
* | | | | ------------------<-----------------------
* | | |auto | | |
* | | \|/ start() \|/ \|/ auto auto stop() |
* | | INITIALIZED -->-- STARTING_PREP -->- STARTING -->- STARTED -->--- |
* | | | | | |
* | | | | | |
* | | | | | |
* | |destroy()| | | |
* | -->-----<-- auto auto | | |
* | | ---------<----- MUST_STOP ---------------------<-- | |
* | | | | |
* | \|/ ---------------------------<-------------------------------- ^
* | | | |
* | | \|/ auto auto start() |
* | | STOPPING_PREP ------>----- STOPPING ------>----- STOPPED ---->------
* | | ^ | | ^
* | | stop() | | | |
* | | -------------------------- | | |
* | | | auto | | |
* | | | MUST_DESTROY------<------- | |
* | | | | | |
* | | | |auto | |
* | | | destroy() \|/ destroy() | |
* | | FAILED ---->------ DESTROYING ---<----------------- |
* | | ^ | |
* | | destroy() | |auto |
* | -------->----------------- \|/ |
* | DESTROYED |
* | |
* | stop() |
* --->------------------------------>------------------------------ public interface Lifecycle
3. lifecycle在tomcat中的使用。
public interface Server extends Lifecycle
public interface Service extends Lifecycle
public interface Container extends Lifecycle
转载于:https://www.cnblogs.com/davidwang456/p/3253523.html
tomcat 容器生命周期lifecycle相关推荐
- Spring容器生命周期--Lifecycle
原文网址:Spring容器生命周期--Lifecycle_IT利刃出鞘的博客-CSDN博客 简介 Bean的初始化方法和销毁方法是Bean生命周期级别的:而Lifecycle是容器生命周期级别的.如果 ...
- tomcat(6)生命周期
[0]README 0.1)本文部分文字描述转自"深入剖析tomcat",旨在学习 "tomcat生命周期" 的基础知识: 0.2)for source cod ...
- Spring IOC容器生命周期阶段总结
Spring IOC容器生命周期 BeanFactory和ApplicationContext有何区别? 源码展示 1. Spring应用上下文启动准备阶段 2. BeanFactory创建阶段 3. ...
- Spring容器生命周期
Spring容器生命周期 执行ConfigurableApplicationContext.refresh() 方法是Spring容器生命周期开始的主要入口点. 而调用BeanDefinitionRe ...
- Spring.容器生命周期
目录 容器生命周期图 生命周期解析 容器 BeanFactoryPostProcessor Bean外 BeanPostProcessor InstantiationAwareBeanPostProc ...
- 用于管理容器生命周期的 Docker 命令
了解 Docker 容器的各种状态对于任何认真的 Docker 用户都至关重要. 我将解释容器生命周期,然后显示生命周期每个阶段的 Docker 命令. 但在学习所有这些东西之前,让我们再次回顾一下容 ...
- Tomcat分析二 —— Tomcat的生命周期管理
2 Tocmat的生命周期管理 2.1 Lifecycle 接口 Tomcat通过Lifecycle接口统一管理生命周期,所有有生命周期的组件都要实现Lifecycle接口.它一共做了4件事 定义 ...
- Kubernetes Pod的生命周期(Lifecycle)
文章目录 Pod Lifecle Pod的阶段:Pod phase 容器的状态:Container states 容器的探针:Container probes 重启策略:restartPolicy P ...
- maven生命周期lifecycle和plugins介绍
一.Maven的生命周期 生命周期的定义:Maven的生命周期就是为了对所有的构建过程进行抽象和统一.在大量项目的构建过程中,Maven总结出了一套高度完善的,易于扩展的生命周期,包括项目的清理,初始 ...
最新文章
- 0.数据结构学习笔记大纲
- oracle 不查加锁的记录,oracle 锁查询 select加锁方法
- shp文件导入数据库
- 实现串匹配的并行算法_5-1-KMP模式匹配
- node创建web服务器代码示例
- .ajax get 写法,原生Ajax写法(GET)
- the pdf expert for android v2.6.0,PDF Expert
- 【51Nod - 1344】走格子 (思维)
- [译] Bounds Check Elimination 边界检查消除
- hibernate 查询id为空懒加载_hibernate 查询时指定查询字段、级联表的一种方式
- 如何营造游戏的打击感
- 05DotNet基本常用类库
- 初探Object Pascal的类(七)
- JavaWeb开发——注册登录的表单验证
- svn和git版本管理
- 路畅畅云固件升级教程_【图】E-Link功能/智能语音 路畅畅云+车载导航评测_汽配中国网...
- 为何老显示DOTA2服务器登录中,Dota2一直 正在登录服务器的解决办法
- 关于DSP的中断操作
- win10使用无边框鼠标 (mouse without border)-局域网共享鼠标键盘
- java棒棒糖和皮卡丘八音盒_如何比别人抢先一步买到肯德基的皮卡丘八音盒?我有两个小建议...
热门文章
- python怎么写csv文件_python怎么写csv文件
- 如何备考上海市高等学校计算机一级,如何备考全国计算机一级等级考试
- 双圆环环布带系法图解_【图】板鞋系鞋带 板鞋鞋带的系法有几种
- 计划完成提醒系统C语言,通信录管理计划系统C语言知识程序设计.doc
- 动画延迟效果css,每个子元素都有延迟的CSS动画
- android studio m1,Android Studio 4.0发布 为Android 11做好准备
- sorl java 建索引_solr 的客户端调用solrj 建索引+分页查询
- 人体姿态估计 自顶向下与自底向上
- python线性回归实例_sklearn+python:线性回归案例
- 医学数据挖掘学习项目:他克莫司