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

讓Java程序自動(dòng)重啟的實(shí)現(xiàn)方法(推薦)

 更新時(shí)間:2017年03月08日 11:24:14   投稿:jingxian  
下面小編就為大家?guī)硪黄孞ava程序自動(dòng)重啟的實(shí)現(xiàn)方法(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

要讓一個(gè)java程序自動(dòng)重啟還真不容易的,重啟分兩步,首先是結(jié)束程序,這個(gè)簡(jiǎn)單,只要運(yùn)行System.exit()就可以了。然后是啟動(dòng),這個(gè)就難了,這個(gè)時(shí)候程序都已經(jīng)結(jié)束了,就像一個(gè)人死了就不可能再自己站起來,怎么辦呢?讓別人幫他扶起來,幸運(yùn)的是,我也有這樣的條件,我要重啟的那個(gè)程序并不孤獨(dú),還有另一個(gè)java程序和它一起在運(yùn)行,我只要讓運(yùn)行著的那個(gè)程序來啟動(dòng)它就可以了。

但運(yùn)行著的那個(gè)程序它怎么知道要關(guān)閉的那個(gè)程序在什么時(shí)候關(guān)閉呢,如果不知道就不能貿(mào)然啟動(dòng)。只有讓要關(guān)閉的那個(gè)程序在自殺前先通知一下了,就是發(fā)個(gè)信息給運(yùn)行著的那個(gè)程序,告訴它,我要自殺了,你準(zhǔn)備重啟我吧。好了,這個(gè)也解決了,可以重啟了。

但第二個(gè)問題又來了,怎么啟動(dòng)呢,一般java程序都是用批處理來啟動(dòng)的,但在程序里像這樣調(diào)用批處理文件卻行不通:

try 
{ 
  Runtime.getRuntime().exec("要啟動(dòng)的批處理.bat"); 
} 
catch(Exception e) 
{ 
  e.printStackTrace(); 
} 

在java程序里只能調(diào)用可執(zhí)行程序來運(yùn)行,批處理是不能運(yùn)行的。怎么辦?沒辦法了嗎?找到一個(gè)軟件VisualBat,用它把批處理編譯成可執(zhí)行程序,這樣就可以了。

好了,現(xiàn)在可以關(guān)閉,也可以啟動(dòng)了,但還有一個(gè)問題:我要一天啟動(dòng)一次而且還要在下午5點(diǎn)時(shí)重啟,這個(gè)要考慮一下了,最后這樣做,用兩個(gè)變量,一個(gè)記下程序啟動(dòng)時(shí)的日期,一個(gè)記下當(dāng)前是幾點(diǎn),只要所記的日期不是今天而且現(xiàn)在又是5點(diǎn),就可以重啟了。

本以為完成了,但程序閃了一下就不見了。仔細(xì)想了一下,可能結(jié)束程序與啟動(dòng)程序間隔時(shí)間太短了,舊程序還沒有完全釋放端口,新程序就來搶端口了,由于新程序沒搶到端口,于是就自己關(guān)閉了。這個(gè)也簡(jiǎn)單,只要在啟動(dòng)前先等一等,Thread.sleep(5000) ,等上5秒,讓端口完全釋放,這時(shí)再啟動(dòng)就可以了。確實(shí)如此,這個(gè)問題就這樣解決了。

以上這篇讓Java程序自動(dòng)重啟的實(shí)現(xiàn)方法(推薦)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java int與integer的對(duì)比區(qū)別

    Java int與integer的對(duì)比區(qū)別

    這篇文章主要介紹了Java int與integer的對(duì)比區(qū)別的相關(guān)資料,需要的朋友可以參考下
    2017-01-01
  • java鏈表的常見簡(jiǎn)單面試算法題詳解

    java鏈表的常見簡(jiǎn)單面試算法題詳解

    文章總結(jié):本文主要介紹了單鏈表的基本操作,包括頭插法、尾插法、鏈表翻轉(zhuǎn)、鏈表成環(huán)判斷、成環(huán)位置判斷、成環(huán)長(zhǎng)度判斷,以及有序鏈表的合并,通過實(shí)例和代碼示例,詳細(xì)講解了每種操作的原理和實(shí)現(xiàn)方法
    2025-01-01
  • springboot?@PostConstruct無效的解決

    springboot?@PostConstruct無效的解決

    這篇文章主要介紹了springboot?@PostConstruct無效的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • Java中RabbitMQ消息隊(duì)列的交換機(jī)詳解

    Java中RabbitMQ消息隊(duì)列的交換機(jī)詳解

    這篇文章主要介紹了Java中的RabbitMQ交換機(jī)詳解,消息隊(duì)列是指利用高效可靠的消息傳遞機(jī)制進(jìn)行與平臺(tái)無關(guān)的數(shù)據(jù)交流,并基于數(shù)據(jù)通信來進(jìn)行分布式系統(tǒng)的集成,是在消息的傳輸過程中保存消息的容器,需要的朋友可以參考下
    2023-07-07
  • Java 8中map()和flatMap()方法區(qū)別詳解

    Java 8中map()和flatMap()方法區(qū)別詳解

    這篇文章主要為大家介紹了Java 8中map()和flatMap()方法區(qū)別詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • Java實(shí)現(xiàn)手寫自旋鎖的示例代碼

    Java實(shí)現(xiàn)手寫自旋鎖的示例代碼

    自旋鎖是專為防止多處理器并發(fā)而引入的一種鎖,它在內(nèi)核中大量應(yīng)用于中斷處理等部分。本文將用Java實(shí)現(xiàn)手寫自旋鎖,需要的可以參考一下
    2022-08-08
  • 使用Feign傳遞請(qǐng)求頭信息(Finchley版本)

    使用Feign傳遞請(qǐng)求頭信息(Finchley版本)

    這篇文章主要介紹了使用Feign傳遞請(qǐng)求頭信息(Finchley版本),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • Java獲取本機(jī)IP地址的方法代碼示例(內(nèi)網(wǎng)、公網(wǎng))

    Java獲取本機(jī)IP地址的方法代碼示例(內(nèi)網(wǎng)、公網(wǎng))

    在IT領(lǐng)域獲取本機(jī)IP地址是一項(xiàng)基礎(chǔ)但重要的任務(wù),特別是在網(wǎng)絡(luò)編程、遠(yuǎn)程協(xié)作和設(shè)備通信中,這篇文章主要給大家介紹了關(guān)于Java獲取本機(jī)IP地址的方法(內(nèi)網(wǎng)、公網(wǎng)),需要的朋友可以參考下
    2024-07-07
  • Java 在PDF中繪制形狀的兩種方法

    Java 在PDF中繪制形狀的兩種方法

    這篇文章主要介紹了Java 在 PDF 中繪制形狀的兩種實(shí)現(xiàn)方法,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • 解決Weblogic部署war找不到spring配置文件的問題

    解決Weblogic部署war找不到spring配置文件的問題

    這篇文章主要介紹了解決Weblogic部署war找不到spring配置文件的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。
    2021-07-07

最新評(píng)論

宣武区| 汉中市| 赤壁市| 忻城县| 太和县| 手游| 兴宁市| 邢台县| 闽侯县| 万宁市| 新津县| 阿尔山市| 金华市| 大冶市| 格尔木市| 南阳市| 太原市| 汕头市| 常州市| 海原县| 托克逊县| 天全县| 商城县| 合肥市| 兰考县| 临漳县| 定南县| 花垣县| 固原市| 定边县| 施甸县| 阿坝| 秭归县| 水富县| 南丰县| 潍坊市| 九寨沟县| 保山市| 临沧市| 二连浩特市| 南城县|