建设部网站城市规划资质标准,做网站超链接用什么软件,网站搜索查询,做镜像网站利润Solon 框架的应用生命周期包括#xff1a;一个初始化函数时机点 六个事件时机点 两个插件生命时机点 两个容器生命时机点#xff08;v2.2.0 版本的状态#xff09;#xff1a; 提醒#xff1a;
启动过程完成后#xff0c;项目才能正常运行#xff08;启动过程中一个初始化函数时机点 六个事件时机点 两个插件生命时机点 两个容器生命时机点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 EventListenerAppLoadEndEvent{Overridepublic void onEvent(AppLoadEndEvent event) throws Throwable {//event.app(); //获取应用对象}
}AppStopEndEventv2.1.0 后支持
Component
public class AppStopEndEventListener implements EventListenerAppStopEndEvent{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后执行停止