- 在項目中經常遇見這樣的問題:修改應用的配置文件web.xml后,無論重啟應用還是重啟WebSphere服務器,都不能重新加載web.xml,導致修改的內容無效。
- 這 個問題困擾了我好久,即使刪除了${was安裝目錄}\IBM\WebSphere\AppServer\profiles\AppSrv01\下的 temp和wstemp兩個緩存文件夾下的臨時文件,重啟后還是無效。幾經折騰,后來終于找到了問題所在——還是由于was的緩存機制導致的。
- 找 到${was安裝目錄}\AppServer\profiles\AppSrv01\config\cells\xxxNode01Cell \applications\${應用名}.ear\deployments\目錄下,有一個與應用相同名稱的緩存文件夾,刪除或修改該文件夾的 web.xml,重啟was即可。
- 在websphere中修改了jsp后,有時會出現修改的jsp沒有起作用,特別是改變了某jsp的樣式后,在頁面中沒看到效果,這主要就是由于websphere中緩存的緣故,這就要清除WebSphere中jsp緩存,如我的應用部署的目錄為:
- E:\IBM\WebSphere\AppServer\profiles\AppSrv01\installedApps\nbxzfwNode01Cell\項目名_war.ear\項目名.war
- 在這個目錄下更新了某個jsp頁面,后在瀏覽器里面查看的時候,發現頁面沒有改變。基于此,我查看了一下目錄,存放應用臨時文件的地方:
- E:\IBM\WebSphere\AppServer\profiles\AppSrv01\temp\nbxzfwNode01\server1\項目名_war\項目名.war
- 在這目錄下,可以看到有很多class文件,都是jsp編譯過來的,對應我們應用目錄下的jsp文件,于是找到對應jsp的class文件刪除,再到瀏覽器中查看,發現已經改變了。。
- 還有一種辦法,就是把這個jsp從項目中刪除或重命名,再到瀏覽器里面查看那個頁面,這時可能會報錯,之后,再把對應的jsp添加上或名字改過來,再次到瀏覽器里面查看應用的時候,就發現這jsp的更新效果出來了,呵呵…
- 前兩天去客戶那里給系統做升級,同時協助解決幾個使用中的問題。到了現場第一件事情是把以前的應用導出做備份, 結果居然遇到返回null。查看日志發現系統報告空間不足,以前遇到這個問題是因為WAS出現oom(Out of Memory)之后,會生成javacore和dump文件供分析內存,這兩個文件通常都比較大,30多M。如果多次出現oom,生成的文件就會占用大量空間。難道最近經常內存溢出?我心抽搐。
- 快馬趕到Profile目錄,沒有發現導出文件,詢問客戶也沒有出現系統宕機的情況,大石落地。仔細查看之后發現profile下的wstemp目錄體積巨大,接近1.7G。這是個臨時目錄,每當管理員通過console登錄之后,wstemp會生成一個新文件夾,保存管理員的所有操作記錄,在管理員登出之后會刪除該目錄。但是wstemp下一堆的臨時文件夾都沒有被刪掉,看來是was 5的bug又遺留到was 6了,真是搞不明白,was的這一堆補丁怎么都沒解決掉這么明顯的一個問題。N多RMB的was啊,越來越覺得還不如免費的jboss。
- 回公司之后查看了自己的was版本,wstemp目錄2.4G,不過分區夠大才沒出問題。直接刪之了事
轉:
http://dsr-22.iteye.com/blog/1258831