GalaxyPilot —— D.S


                  生命不熄,戰斗不止
          數據加載中……

          自動重啟JBOSS服務器

          ??????開發的應用在測試過程中發生了java.lang.OutOfMemoryError 錯誤,一時找不到問題所在,只能先寫個腳本,當該腳本檢測到jboss服務擋掉時,就自動重啟jboss服務器。腳本中用到了pstools中的pskill,網上可以下載到,把這個腳本和pskill一起放到jboss的bin目錄下即可。只pskill java后,運行bat的cmd窗口并沒有關掉,本人也沒有找到在腳本中得到cmd窗口ID的方法,用WshShell.Exec也有一些問題,所以只能再pskill cmd,這樣可能會影響您的其它工作,可以根據您的情況做一些修改。而且腳本只能通過wscript.exe來運行,也就是不讓出現cmd窗口,不然會一起被kill掉,這樣就達不到自動重啟的目的。
          ??????另一個問題是當出現java.lang.OutOfMemoryError錯誤時,jboss服務器好像并不是完全擋掉,一些不訪問數據庫的jsp頁面一樣可以訪問,所以ping.jsp最好是一個訪問了數據庫的文件。當然,腳本中循環訪問該頁面,肯定會加重web服務器和數據庫服務器的負擔,所以,循環的速度要根據您的具體情況做適當的調整。該腳本不至是針對jboss服務器和java.lang.OutOfMemoryError,作很少的修改,您可以應用到其它服務器和檢查特定的web服務器出現的問題,然后做相應的處理。

          ------------------------restart.vbs------------------------
          on error resume next
          Dim a
          a=true
          set WshShell = WScript.CreateObject("WScript.Shell")
          WshShell.Run("run.bat")
          WScript.Sleep(60000)
          Do While a
          ???set http = CreateObject("Microsoft.XMLHTTP")
          ???http.open "POST","
          ???http.send
          ???if http.Status > 300 then
          ??????WshShell.Run("pskill java")
          ??????WScript.Sleep(3000)
          ??????WshShell.Run("pskill cmd")
          ??????WshShell.Run("run.bat")
          ??????WScript.Sleep(60000)
          ???end if
          ???WScript.Sleep(5000)
          loop

          posted on 2006-04-18 10:19 舵手 閱讀(5088) 評論(6)  編輯  收藏

          評論

          # re: 自動重啟JBOSS服務器  回復  更多評論   

          呵呵,我安裝時把Tomcat裝成系統服務了,把樓主發給我的代碼修改如下:
          ------------------------restart.vbs------------------------
          on error resume Next

          Dim a
          a = True

          set WshShell = WScript.CreateObject("WScript.Shell")

          Do While a
          set http = CreateObject("Microsoft.XMLHTTP")
          http.open "POST","http://127.0.0.1:8080/index.jsp",false
          http.send
          if http.Status > 300 then
          WshShell.Run("net stop tomcat5")
          WScript.Sleep(90000)
          WshShell.Run("net start tomcat5")
          end if
          WScript.Sleep(30000)
          loop
          2006-05-11 17:54 | Netboy

          # re: 自動重啟JBOSS服務器  回復  更多評論   

          http.open "POST","http://127.0.0.1:8080/index.jsp",false
          2009-01-04 12:22 | 張慧華

          # re: 自動重啟JBOSS服務器  回復  更多評論   

          沒有必要去訪問這個頁面http://127.0.0.1:8080/index.jsp.
          周期性訪問index.jsp,加重web服務器和數據庫服務器的負擔.
          自己創建一個很簡單的測試頁面比較好.
          2009-01-04 12:27 | 張慧華

          # re: 自動重啟JBOSS服務器  回復  更多評論   

          樓上的朋友看錯了,
          我的代碼里是
          http.open "POST","http://127.0.0.1:8080/gtgdh/ping.jsp",false
          ping.jsp就是簡單的測試頁面。
          2009-01-04 21:27 | 舵手 QQ:8117892

          # re: 自動重啟JBOSS服務器  回復  更多評論   

          如果服務器是Linux的,shell 腳本好像不能發http請求。
          我想重啟腳本只能用C或Java等去寫了。
          不知各位有沒有更好的方法。
          2009-03-06 16:18 | 張慧華

          # re: 自動重啟JBOSS服務器  回復  更多評論   

          (web server軟件)UFO不會出現一個字節的內存泄漏和一個線程的不能回收,使用UFO做Web Server的好處是網站能做得很穩定,永遠也不會自己down掉;UFO在托管機房丟包率很高、遭受Hacker攻擊、互聯網 骨干網被黑等惡劣的環境條件下仍然能很好地運行;UFO在對付Hacker方面(防Hacker弄down和Hacker抓取不該訪問的資源)也有足夠措施。
          另外,UFO幾乎不會進行垃圾回收,消耗CPU很少,在普通的PC Server上用UFO運行網站,平時CPU占用率<0.1%,最多時也不會超 過5%。您知道,JVM的垃圾回收會導致大量的運算,消耗很多CPU,從而導致Server的負載能力和響應速度下降。UFO在對象管理方面采 用了很好的機制和算法,做得很出色。用UFO運行網站,可以一直保證高負載能力,快速的響應速度和低CPU消耗。發布網址:www.gm365.com
          2009-06-22 10:29 | ufo

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 即墨市| 克什克腾旗| 清苑县| 金平| 合肥市| 南丰县| 芒康县| 岑巩县| 布拖县| 汝阳县| 五河县| 巍山| 巴塘县| 本溪市| 马公市| 凤台县| 商都县| 舞钢市| 渭源县| 广昌县| 禄丰县| 桃园县| 左云县| 明光市| 耒阳市| 普格县| 丰顺县| 威信县| 灵寿县| 临江市| 东港市| 赤峰市| 手游| 武川县| 民丰县| 越西县| 塔河县| 英超| 简阳市| 新昌县| 中卫市|