WebLogic使用總結(五)——Web項目使用Sigar在WebLogic服務器部署遇到的問題

今天在WebLogic 12c服務器上部署Web項目時,碰到了一個問題。項目中使用到了"Sigar.jar"監控Window平臺下的cpu使用率、內存使用率和硬盤信息,sigar.jar包依賴"sigar-amd64-winnt.dll"和"sigar-x86-winnt.dll"兩個dll,一開始我是把"sigar.jar"以及"sigar-amd64-winnt.dll"和"sigar-x86-winnt.dll"這兩個dll直接放到了WEB-INF目錄下的lib目錄當中,然後將"sigar-amd64-winnt.dll"和"sigar-x86-winnt.dll"這兩個dll加入到classpath下,如下圖所示:

  

  將Web應用部署到Tomcat6.x服務器下運行

  

  可以使用sigar獲取到Window平臺下的cpu使用率、內存使用率和硬盤信息這些信息的,如下圖所示:

  

  然後將Web應用部署到WebLogic 12c服務器上面運行,

  

  結果發現無法使用Sigar.jar獲取到Window平臺下的cpu使用率、內存使用率和硬盤信息這些信息的,出現了運行錯誤,如下圖所示:

  

  上網查了一下原因,原來sigar中有很多的實現是通過jni實現的,所以運行在不同的平臺上需要加載對應的本地動態鏈接庫,我猜想WebLogic在運行Web應用時,應該是沒有找到Sigar.jar依賴的"sigar-amd64-winnt.dll"和"sigar-x86-winnt.dll"這兩個dll,爲了能夠讓WebLogic可以找到"sigar-amd64-winnt.dll"和"sigar-x86-winnt.dll",將這兩個dll放在jdk/bin下即可,是因爲jvm默認會在此路徑下加載本地動態鏈接庫,如下圖所示:

  

  將"sigar-amd64-winnt.dll"和"sigar-x86-winnt.dll"放到jdk的bin目錄下之後,重啓WebLogic服務器,此時就可以正常使用sigar.jar獲取獲取到Window平臺下的cpu使用率、內存使用率和硬盤信息這些信息了,如下圖所示:

   

  第一次遇到了這樣的問題,在此記錄一下解決辦法。如果哪位朋友有更好的解決辦法,還望相告,在此先謝過了!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章