Tomcat的生命周期

目录

 

Lifecycle接口

Lifecycle接口一共做了4件事

LifecycleBase

三个管理监听器的方法

四个生命周期方法

init方法

start方法

两个获取当前状态的方法


Lifecycle接口

Tomcat通过org.apache.catalina.Lifecycle接口统一管理生命周期,所以所有生命周期的组件都要实现Lifecycle接口

Lifecycle接口一共做了4件事

定义了13个String类型常量,用于LifecycleEvent事件的type属性中,作用:区分组件发生的事件状态。这种设计方式可以让多种状态都发送同一种类型的事件,然后用其中的一个属性来区分状态而不用定义多种事件

定义了三个管理监听器的方法addLifecycleListener,findLifecycleListeners,removeLifecycleListener

定义了4个生命周期的方法:init,start,stop,destroy

定义了获取当前状态的两个方法:getState,getStateName,用来获取当前的状态,geState的返回值LifecycleState是枚举类型,里面列举了生命周期的各个节点,getStateName方法返回String类型的状态名字,主要用于JMX中。

Lifecycle接口定义如下:

package org.apache.catalina;
public abstract interface Lifecycle
{
  //13中事件类型
  public static final String BEFORE_INIT_EVENT = "before_init";
  public static final String AFTER_INIT_EVENT = "after_init";
  public static final String START_EVENT = "start";
  public static final String BEFORE_START_EVENT = "before_start";
  public static final String AFTER_START_EVENT = "after_start";
  public static final String STOP_EVENT = "stop";
  public static final String BEFORE_STOP_EVENT = "before_stop";
  public static final String AFTER_STOP_EVENT = "after_stop";
  public static final String AFTER_DESTROY_EVENT = "after_destroy";
  public static final String BEFORE_DESTROY_EVENT = "before_destroy";
  public static final String PERIODIC_EVENT = "periodic";
  public static final String CONFIGURE_START_EVENT = "configure_start";
  public static final String CONFIGURE_STOP_EVENT = "configure_stop";

  //3个管理监听器的方法
  public abstract void addLifecycleListener(LifecycleListener paramLifecycleListener);

  public abstract LifecycleListener[] findLifecycleListeners();

  public abstract void removeLifecycleListener(LifecycleListener paramLifecycleListener);
  //4个生命周期的方法
  public abstract void init()
    throws LifecycleException;

  public abstract void start()
    throws LifecycleException;

  public abstract void stop()
    throws LifecycleException;

  public abstract void destroy()
    throws LifecycleException;
  //2个获取当前状态的方法
  public abstract LifecycleState getS
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值