在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java/ 當(dāng)java進程終止前,如何強制將自定義的緩沖里的字節(jié)寫入文件?

當(dāng)java進程終止前,如何強制將自定義的緩沖里的字節(jié)寫入文件?

java springboot項目里自定義了一個帶緩沖的流,緩沖里的字符行行數(shù)小于某個數(shù),譬如10時,就放在緩存里而不寫入文件。但是有一個問題是,有時要升級項目,重啟java進程(譬如kill -9),這個時候就會把緩沖里的字符行丟棄掉,沒有寫入文件。

當(dāng)java進程終止前,如何強制將緩沖里的字節(jié)寫入文件?

回答
編輯回答
陌璃

spring boot本身就有shutdown hook,你應(yīng)該先仔細閱讀官方文檔: https://docs.spring.io/spring...

另外kill -9慎用,神仙難救。SIGKILL信號根本不會被程序本身捕獲,而是被內(nèi)核捕獲強行殺死進程,根本不會觸發(fā)程序內(nèi)部的close handler

2017年12月13日 00:40