当前位置:首页 >> 核电技术聚变聚能设备 >> 【springboot笔记】程序可用性检测ApplicationAvailability,背光机械键盘(软件可用性测试方法)

【springboot笔记】程序可用性检测ApplicationAvailability,背光机械键盘(软件可用性测试方法)

cpugpu芯片开发光刻机 核电技术聚变聚能设备 5
文件名:【springboot笔记】程序可用性检测ApplicationAvailability,背光机械键盘 【springboot笔记】程序可用性检测ApplicationAvailability 1.背景

springboot-3.1.5 ApplicationAvailability LivenessState ReadinessState AvailabilityChangeEvent 我们可以通过ApplicationAvailability获取当前应用程序的可用性,这个可用性包括ApplicationContext和对外请求路由两种。 LivenessState 是表示ApplicationContext的状态 ReadinessState 是表示路由请求是否可使用的状态 可以解决的问题: 在应用程序内对ApplicationContext和路由请求是否正常运行进行监听 使用场景: 通过监听ReadinessState状态,判断服务是否启动成功,然后通过飞书或者钉钉或者企业微信进行服务重启通知

监听服务是否可用 @Componentpublic class ApplicationAvailabilityExporter {@EventListenerpublic void onStateChange(AvailabilityChangeEvent event) {AvailabilityState state = event.getState();if (state.equals(ReadinessState.ACCEPTING_TRAFFIC)) {System.out.println("应用程序已经可以接受外部请求");} else if (state.equals(ReadinessState.REFUSING_TRAFFIC)) {// kill -9 pid (强杀) 不会触发// kill -2 pid (退出信号通知)可以出发System.out.println("应用程序拒绝接受外部请求");} else if (state.equals(LivenessState.BROKEN)) {System.out.println("ApplicationContext未就绪");} else if (state.equals(LivenessState.CORRECT)) {System.out.println("ApplicationContext已构建完成处于就绪");}}} 注意事项

PostContruct,CommandLineRunner,ApplicationRunner。 这三个都能用来处理一些业务配置等初始化的问题,其中PostContruct是在ApplicationContext的构建阶段,也就是BROKEN阶段,这个时候ApplicationContext还没有构建完成,而CommandLineRunner和ApplicationRunner是在CORRECT和REFUSING_TRAFFIC阶段,这也就意味ApplicationContext已经构建完成但是路由请求还没进来。

所以一般业务数据和配置的缓存建议放在CommandLineRunner和ApplicationRunner中。

协助本站SEO优化一下,谢谢!
关键词不能为空
同类推荐
«    2025年12月    »
1234567
891011121314
15161718192021
22232425262728
293031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
文章归档
网站收藏
友情链接