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

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

[color=blue]就是說,將tomcat服務,設置成爲依賴這兩個數據庫服務,即這兩個數據庫實例啓動之後,纔會啓動tomcat。
這裏需要注意,“tomcatAPP”這個服務名,並不是在服務列表裏看到的名字,那個名字並不準確,看下圖[/color]:

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

[img]http://dl.iteye.com/upload/attachment/188992/47f9d63d-e7b8-3334-aa4d-06c7aa8f0538.jpg[/img]
[color=blue]但是令人十分怨念的是,重啓之後,問題居然依舊,靠!!再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,重啓機器,看看有沒有效果。[/color]
發佈了37 篇原創文章 · 獲贊 1 · 訪問量 3514
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章