日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

管理SpringBoot項目的三個強大的功能是否用過?

來源: 責編: 時間:2024-07-02 17:36:43 121觀看
導讀環境:SpringBoot2.7.181. 管理功能Admin Features通過指定spring.application.admin.enabled屬性,可以為應用程序啟用管理員相關的功能。這在平臺MBeanServer上公開了SpringApplicationAdminMXBean。你可以使用這個特性

環境:SpringBoot2.7.18fF528資訊網——每日最新資訊28at.com

1. 管理功能Admin Features

通過指定spring.application.admin.enabled屬性,可以為應用程序啟用管理員相關的功能。這在平臺MBeanServer上公開了SpringApplicationAdminMXBean。你可以使用這個特性遠程管理Spring Boot應用程序。fF528資訊網——每日最新資訊28at.com

spring:  application:    admin:      enabled: true

開啟管理功能后,你可以通過JConsole查看MBean對當前的SpringBoot程序進行簡單的管理及查看。默認JMX的名稱為:org.springframework.boot:type=Admin,name=SpringApplicationfF528資訊網——每日最新資訊28at.com

圖片圖片fF528資訊網——每日最新資訊28at.com

在操作菜單中,我們可以通過shutdown關閉應用程序,可以通過getProperty獲取應用中的配置屬性信息。fF528資訊網——每日最新資訊28at.com

圖片圖片fF528資訊網——每日最新資訊28at.com

獲取屬性信息:fF528資訊網——每日最新資訊28at.com

圖片圖片fF528資訊網——每日最新資訊28at.com

自定義JMX名稱:fF528資訊網——每日最新資訊28at.com

spring:  application:    admin:      enabled: true      jmx-name: com.pack:type=AKF,name=PackAPP

注意:這里jmx-name格式:xxx:type=yyy,name=zzzfF528資訊網——每日最新資訊28at.com

圖片圖片fF528資訊網——每日最新資訊28at.com

2. 應用退出

每個SpringApplication都向JVM注冊一個關閉掛鉤,以確保ApplicationContext在退出時正常關閉。所有標準的Spring生命周期回調(如DisposableBean接口或@PreDestroy注釋)都可以使用。fF528資訊網——每日最新資訊28at.com

2.1 自定義退出碼

@Component@Order(-2)public class PackExitCodeGenerator implements ExitCodeGenerator {  @Override  public int getExitCode() {    System.out.println("PackExitCodeGenerator exit code 6...") ;    return 6 ;  }}

你可以定義多個實現了ExitCodeGenerator的類,通過@Order定義順序,而SpringBoot只會返回第一個非零的退出碼。fF528資訊網——每日最新資訊28at.com

SpringBoot的退出操作是調用當前容器ConfigurableApplicationContext#close方法。所以當前容器中所有實現了DisposableBean或使用了@PreDestory注解他們對應的回調方法都執行。fF528資訊網——每日最新資訊28at.com

2.2 自定義DisposableBean

@Componentpublic class AppComponent implements DisposableBean {  @Override  public void destroy() throws Exception {    System.out.println("Bean生命周期結束...") ;  }}

2.3 定義exit接口

@Resourceprivate ConfigurableApplicationContext context ;@GetMapping("")public Object exit() {  SpringApplication.exit(context) ;  return "exit" ;}

2.4 測試

調用上的接口后,你將在控制臺看到如下輸出fF528資訊網——每日最新資訊28at.com

圖片圖片fF528資訊網——每日最新資訊28at.com

在關閉應用程序之前SpringBoot會發布ExitCodeEvent事件fF528資訊網——每日最新資訊28at.com

@Componentpublic class PackAppExitListener implements ApplicationListener<ExitCodeEvent> {  @Override  public void onApplicationEvent(ExitCodeEvent event) {    System.out.printf("監聽到應用退出事件,退出碼:%d%n", event.getExitCode()) ;  }}

結果輸出:fF528資訊網——每日最新資訊28at.com

圖片圖片fF528資訊網——每日最新資訊28at.com

3. 應用啟動跟蹤

在應用程序啟動期間,SpringApplication和ApplicationContext執行許多與應用程序生命周期、bean生命周期甚至處理應用程序事件相關的任務。有了ApplicationStartup, Spring框架允許你用StartupStep對象跟蹤應用程序的啟動順序。收集這些數據可以用于分析,或者只是為了更好地了解應用程序啟動過程。fF528資訊網——每日最新資訊28at.com

你可以在設置SpringApplication實例時選擇ApplicationStartup實現。例如,要使用BufferingApplicationStartup,如下示例:fF528資訊網——每日最新資訊28at.com

SpringApplication application = new SpringApplication(SpringbootComprehensiveApplication.class) ;application.setApplicationStartup(new BufferingApplicationStartup(2048)) ;application.run(args) ;

接下來需要通過可以通過Actuator暴露的端口,以JSON的形式查看信息。引入依賴fF528資訊網——每日最新資訊28at.com

<dependency>  <groupId>org.springframework.boot</groupId>  <artifactId>spring-boot-starter-actuator</artifactId></dependency>

通過/startup接口查看Spring容器啟動過程的完整信息。fF528資訊網——每日最新資訊28at.com

圖片圖片fF528資訊網——每日最新資訊28at.com

在你的項目中你還可以注入ApplicationStartup,在自己的業務代碼中進行監控。fF528資訊網——每日最新資訊28at.com

@Resourceprivate ApplicationStartup startup ;

這樣你就可以進行start和end方法調用進行記錄監控了。fF528資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-98190-0.html管理SpringBoot項目的三個強大的功能是否用過?

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 一網打盡:12 個 find() 函數在 Python 中的創意實踐

下一篇: 微服務 | 微服務之Feign 與 Ribbon

標簽:
  • 熱門焦點
Top 主站蜘蛛池模板: 樟树市| 阳春市| 汨罗市| 上杭县| 江门市| 齐齐哈尔市| 兴海县| 曲水县| 青田县| 阿拉善右旗| 宁海县| 珠海市| 九龙城区| 清镇市| 南华县| 靖远县| 昭苏县| 晴隆县| 黑龙江省| 丰原市| 海晏县| 大名县| 明光市| 鹿泉市| 科技| 连州市| 蚌埠市| 横峰县| 永福县| 浙江省| 上蔡县| 灵石县| 昌黎县| 宁陕县| 神木县| 准格尔旗| 克山县| 灵寿县| 长春市| 微博| 富民县|