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使用率、內存使用率和硬盤信息這些信息了,如下圖所示:

   

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM