Solon2 的应用生命周期
创始人
2024-05-27 17:16:06
0

Solon 框架的应用生命周期包括:一个初始化函数时机点 + 六个事件时机点 + 两个插件生命时机点 + 两个容器生命时机点(v2.2.0 版本的状态):

提醒:

  • 启动过程完成后,项目才能正常运行(启动过程中,不能把线程卡死了)
  • AppBeanLoadEndEvent 之前的事件,需要启动前通过 EventBus.subscribe(...) 订阅

1、一个初始化函数时机点

@SolonMain
public class App{public static void main(String[] args){Solon.start(App.class, args, (app)->{//应用初始化时间点});} 
}

2、六个事件时机点

事件说明

事件说明
6.AppInitEndEvent应用初始化完成事件
8.AppPluginLoadEndEvent应用插件加载完成事件
b.AppBeanLoadEndEvent应用Bean加载完成事件(即扫描完成)
e.AppLoadEndEvent应用加载完成事件
::运行
g.AppPrestopEndEvent应用预停止事件
j.AppStopEndEvent应用停止事件

事件订阅示例

  • AppLoadEndEvent
@Component
public class  AppLoadEndEventListener implements EventListener{@Overridepublic void onEvent(AppLoadEndEvent event) throws Throwable {//event.app(); //获取应用对象}
}
  • AppStopEndEvent,v2.1.0 后支持
@Component
public class  AppStopEndEventListener implements EventListener{@Overridepublic void onEvent(AppStopEndEvent event) throws Throwable {//event.app(); //获取应用对象}
}

3、两个插件生命时机点

插件的本质,即在应用生命周期中获得关键执行时机的接口。从而有效获得应用扩展能力。

  • 插件接口 Plugin
@FunctionalInterface
public interface Plugin {void start(AopContext context) throws Throwable;default void prestop() throws Throwable{}default void stop() throws Throwable{}
}
  • 执行时机
接口执行时机说明
7.start在应用初始化完成后执行启动
f.prestop在 ::stop 前执行预停止
h.stop在 Solon::stop 时执行停止(启用安全停止时,prestop 后等几秒再执行 stop)

4、两个容器生命时机点

接口执行时机说明
d.start在扫描完成之后执行启动
i.stop在 Solon::stop 时执行,在插件(h.stop)后执行停止

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...