最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

springboot啟動后和停止前執(zhí)行方法示例詳解

 更新時間:2022年08月31日 09:49:47   作者:love_燕子  
這篇文章主要介紹了springboot啟動后和停止前執(zhí)行方法,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

springboot啟動后即執(zhí)行的方法

1)實現(xiàn)ApplicationRunner接口

@Configuration
public class ApplicationService implements ApplicationRunner {
    @Override
    public void run(ApplicationArguments args) throws Exception {
        iForwardQueuesService.create();
    }
}

2)實現(xiàn)CommandLineRunner接口

@Configuration
public class ApplicationService implements CommandLineRunner {
    @Override
    public void run(String... args) throws Exception {
        log.info("執(zhí)行平臺登出");
    }
}

注意:如果ApplicationListener和CommandLineRunner同時存在,則ApplicationRunner接口先執(zhí)行,CommandLineRunner后執(zhí)行;
也可以使用執(zhí)行執(zhí)行順序

@Configuration
@Order(1)
public class ApplicationService implements CommandLineRunner {
}

原理:
SpringApplication 的run方法會執(zhí)行afterRefresh方法。
afterRefresh方法會執(zhí)行callRunners方法。
callRunners方法會調用所有實現(xiàn)ApplicationRunner和CommondLineRunner接口的方法。

springboot停止前執(zhí)行的方法

1)實現(xiàn)DisposableBean接口并實現(xiàn)destroy方法
springboot銷毀時執(zhí)行

@Configuration
public class ApplicationService implements DisposableBean,{
    @Override
    public void destroy() throws Exception {
        log.info("執(zhí)行平臺登出");
        platformService.PlatformLogout();
    }
}

2)使用ShutdownHook關閉鉤子
JAVA虛擬機關閉鉤子(Shutdown Hook)在下面場景下被調用:

  • 程序正常退出;
  • 使用System.exit();
  • 終端使用Ctrl+C觸發(fā)的中斷;

4)系統(tǒng)關閉;
5)OutOfMemory宕機;使用Kill pid命令干掉進程(注:在使用kill -9 pid時,是不會被調用的);

@SpringBootApplication
@ComponentScan(value = "com.xxxxxx")
public class ForwardGbApplication {
    public static void main(String[] args) {
        ForwardGbApplication application=new ForwardGbApplication();
        Thread t = new Thread(new ShutdownHook(application), "ShutdownHook-Thread");
        Runtime.getRuntime().addShutdownHook(t);
        SpringApplication.run(ForwardGbApplication.class, args);
    }
    static class ShutdownHook implements Runnable{
        private ForwardGbApplication manager;
        public ShutdownHook(ForwardGbApplication serverManager){
            manager = serverManager;
        }
        @Override
        public void run() {
            try {
                PlatformService platform = ApplicationContextHandle.getObject(PlatformService.class);
                platform.PlatformLogout();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
}

RunTime.getRunTime().addShutdownHook的作用就是在JVM銷毀前執(zhí)行的一個線程.當然這個線程依然要自己寫.

到此這篇關于springboot啟動后和停止前執(zhí)行方法的文章就介紹到這了,更多相關springboot啟動執(zhí)行方法內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 圖解Java經典算法冒泡排序的原理與實現(xiàn)

    圖解Java經典算法冒泡排序的原理與實現(xiàn)

    冒泡排序是一種簡單的排序算法,它也是一種穩(wěn)定排序算法。其實現(xiàn)原理是重復掃描待排序序列,并比較每一對相鄰的元素,當該對元素順序不正確時進行交換。一直重復這個過程,直到沒有任何兩個相鄰元素可以交換,就表明完成了排序
    2022-09-09
  • JAVA解決在@autowired,@Resource注入為null的情況

    JAVA解決在@autowired,@Resource注入為null的情況

    這篇文章主要介紹了JAVA解決在@autowired,@Resource注入為null的情況,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • Spring發(fā)送郵件如何內嵌圖片增加附件

    Spring發(fā)送郵件如何內嵌圖片增加附件

    這篇文章主要介紹了Spring發(fā)送郵件如何內嵌圖片增加附件,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-10-10
  • java實現(xiàn)識別二維碼圖片功能

    java實現(xiàn)識別二維碼圖片功能

    這篇文章主要為大家詳細介紹了java實現(xiàn)識別二維碼圖片功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • Java使用Redisson分布式鎖實現(xiàn)原理

    Java使用Redisson分布式鎖實現(xiàn)原理

    Redisson分布式鎖 之前的基于注解的鎖有一種鎖是基本redis的分布式鎖,這篇文章主要介紹了Java使用Redisson分布式鎖實現(xiàn)原理,非常具有實用價值,需要的朋友可以參考下
    2018-10-10
  • Java微信公眾平臺之自定義菜單

    Java微信公眾平臺之自定義菜單

    這篇文章主要為大家詳細介紹了Java微信公眾平臺之自定義菜單,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • JAVA讀取二進制文件以及畫圖教程

    JAVA讀取二進制文件以及畫圖教程

    由于項目需要,需要對二進制文件進行讀取,所以這篇文章主要給大家介紹了關于JAVA讀取二進制文件以及畫圖的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-07-07
  • Java程序快速合并多個Word(docx)文檔

    Java程序快速合并多個Word(docx)文檔

    這篇文章主要為大家介紹了如何使用Java程序快速合并多個Word(docx)文檔實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-05-05
  • SpringBoot Controller接收參數(shù)的幾種常用方式

    SpringBoot Controller接收參數(shù)的幾種常用方式

    這篇文章主要介紹了SpringBoot Controller接收參數(shù)的幾種常用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • Java+ElasticSearch+Pytorch實現(xiàn)以圖搜圖功能

    Java+ElasticSearch+Pytorch實現(xiàn)以圖搜圖功能

    這篇文章主要為大家詳細介紹了Java如何利用ElasticSearch和Pytorch實現(xiàn)以圖搜圖功能,文中的示例代碼講解詳細,具有一定的學習價值,感興趣的小伙伴可以了解一下
    2023-06-06

最新評論

孟州市| 湛江市| 永新县| 田林县| 桐城市| 山丹县| 景东| 屏东县| 桦甸市| 扎兰屯市| 保康县| 寿宁县| 梅州市| 台安县| 澄迈县| 兰溪市| 客服| 田东县| 行唐县| 宁化县| 宁化县| 孝感市| 通江县| 巨野县| 瑞丽市| 三台县| 上蔡县| 常山县| 河北省| 克拉玛依市| 喀什市| 昌江| 庆城县| 平昌县| 衡阳市| 驻马店市| 沅陵县| 阿尔山市| 岫岩| 乌鲁木齐县| 保定市|