令人十分怨念的tomcat註冊成windows服務)

來源:互聯網
上載者:User
 最近不知道怎麼回事,伺服器上的程式突然出問題了,有些頁面無法正常訪問了,或者只顯示一半,以前也遇到過這種情況,應該是在讀取資料的時候,出現了問題,繼而聯想到這樣發布其實還是存在一定隱患的。
  當初,為了使使用者方便,我直接將tomcat註冊成了Windows服務,並且將啟動類型設定為“自動啟動”,這樣即使使用者因為斷電或其它原因,重啟了伺服器,程式也能自動起,不需要使用者再去手工啟動。直到今天這個問題暴露,我才意識到一個大問題:程式啟動時,需要串連資料庫,但是資料庫服務往往啟動的比較慢,因此如果在資料庫服務完全啟動之前,應用程式服務已經啟動完成,那麼就會造成錯誤,出現今天這種局面。
  google了半天,採用以下解決方案:
 

Java代碼
  1. sc config tomcatAPP depend= OracleServiceOPB/OracleServiceORCL  
sc config tomcatAPP depend= OracleServiceOPB/OracleServiceORCL

就是說,將tomcat服務,設定成為依賴這兩個資料庫服務,即這兩個資料庫執行個體啟動之後,才會啟動tomcat。
這裡需要注意,“tomcatAPP”這個服務名,並不是在服務列表裡看到的名字,那個名字並不準確,看:


這裡要寫“服務名”,而不是“顯示名”,或者最簡單,到註冊表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services中去看真實的服務名。另外,sc命令的格式也要注意,"depend="是一個整體的命令參數,後面要跟一個空格,然後再跟依賴的服務名稱,多個服務之間用/隔開,服務名上沒有引號。
  完成這條命令之後,按理說就應該可以了,我們可以看到,tomcat服務和oracle服務之間,也確實建立了依賴關係:


  但是令人十分怨念的是,重啟之後,問題居然依舊,靠!!再google之。等解決了再補上~~

總結一下全部的步驟,也期待高人給指點一下:
1,開啟CMD。
2,進入TOMCAT_HOME/bin目錄下。
3,輸入命令:"service install tomcatAPP",安裝服務。卸載服務的命令是:"service reomve tomcatAPP"
。4,設定服務為自動啟動,輸入命令:"sc config tomcatAPP start= auto"。
5,設定服務依賴關係,輸入命令:"sc config tomcatAPP depend= OracleServiceOPB/OracleServiceORCL"
6,重啟機器,看看有沒有效果。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.