欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用System.exit()來優(yōu)雅地終止SpringBoot項(xiàng)目的代碼示例

 更新時(shí)間:2024年08月14日 11:59:17   作者:一恍過去  
System.exit() 方法是 Java 中用于退出程序的方法,它接受一個(gè)整數(shù)參數(shù),通常被用來指示程序的退出狀態(tài),本文給大家介紹了如何使用System.exit()來優(yōu)雅地終止SpringBoot項(xiàng)目,需要的朋友可以參考下

前言

System.exit():

System.exit():

System.exit() 方法是 Java 中用于退出程序的方法。它接受一個(gè)整數(shù)參數(shù),通常被用來指示程序的退出狀態(tài)。一般約定,如果程序正常退出,通常返回值為 0,而如果程序出現(xiàn)錯誤或異常退出,返回值可以是其他非零值,用于指示錯誤的類型或狀態(tài)。

需要注意的是,System.exit() 是一種強(qiáng)制退出程序的方式,它會立即終止程序的執(zhí)行,不會執(zhí)行任何未完成的代碼或清理操作。因此,在正常情況下,應(yīng)該盡量避免濫用這個(gè)方法,而是通過正常的控制流程來退出程序。

SpringApplication.exit():

SpringApplication.exit 是 Spring Boot 提供的方法,用于優(yōu)雅地終止 Spring Boot 應(yīng)用程序。它的作用是允許你觸發(fā)應(yīng)用程序的關(guān)閉操作,這將導(dǎo)致 Spring Boot 應(yīng)用程序執(zhí)行關(guān)閉鉤子(shutdown hooks)和銷毀生命周期中的 Bean 等清理工作,以確保應(yīng)用程序在退出之前可以完成一些清理工作、資源釋放或其他必要的操作。

應(yīng)用

在開發(fā)中,有可能存在以下場景:

  • 啟動項(xiàng)目時(shí)驗(yàn)證項(xiàng)目是否已經(jīng)授權(quán),如果沒有授權(quán)則停止啟動。
  • 啟動項(xiàng)目后需要進(jìn)行各類初始。如果初始化失敗則停止啟動。

為了實(shí)現(xiàn)停止SpringBoot項(xiàng)目運(yùn)行我們需要使用到System.exit()方法。
System.exit()接受一個(gè)int參數(shù),如果為0正常退出;為非0的其他整數(shù),表示非正常退出當(dāng)前程序。其實(shí)不管傳什么數(shù)值都會導(dǎo)致系統(tǒng)的停止。

具體使用如下:

假如我們的初始化操作,如下所示:

@Component
public class SystemApplicationRunner implements ApplicationRunner {

	@Resource
	private WebApplicationContext applicationContext;

    @Override
    public void run(ApplicationArguments args) {
  	   // 具體什么時(shí)候調(diào)用,根據(jù)實(shí)際情況定
	    if(xxx){
	        System.out.println("調(diào)用方法,關(guān)閉SpringBoot");
    	   // 如果初始化失敗或者其他失敗情況,則調(diào)用System.exit()方法
           System.exit(SpringApplication.exit(applicationContext));
    	}
	}
}	

效果:

補(bǔ)充:通過 System.exit(SpringApplication.exit(applicationContext));方式時(shí),系統(tǒng)會自動判斷傳0還是非0,我們也可以自主傳入?yún)?shù),比如:

public class Test {
      public static void main(String[] args) {
        if(xxx){
	        System.out.println("調(diào)用方法,關(guān)閉項(xiàng)目");
    	   // 如果初始化失敗或者其他失敗情況,則調(diào)用System.exit()方法
           System.exit(0);
    	}
    }
}

以上就是使用System.exit()來優(yōu)雅地終止SpringBoot項(xiàng)目的代碼示例的詳細(xì)內(nèi)容,更多關(guān)于System.exit()終止SpringBoot項(xiàng)目的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論