IBM Webpshere6(WAS6) bug發現一例

IBM Webpshere6(WAS6) bug發現一例

對於沒有EJBJ2EE工程,打包發佈都不會遇到太大的問題,因此,在我們項目組,開發測試都只有TOMCAT下進行,而後直接將能用於TOMCAT下的WAR包發佈到WAS中(在我前面的文章中曾寫過這方面的移植問題),整個過程應該還算簡單。但最近我們對原有一個項目進行了一些修改(原項目已在WAS下穩定運行),改得不多,只是用AXIS將其中的一些服務發佈成了WEB SERVICES,因此無非是在LIB下加了一些包,在WEB-INF下加了一些配置文件,最多再多加了一些原文件而已,同樣打成的WAR包在TOMCAT下一切正常,可再發布到WAS時,發生了意想不到的問題...應該說發佈過程(通過管理控制檯發佈)很正常,甚至應用也啓動了,但卻無法訪問,NOT FOUND!很顯然是應用並沒啓動!(WAS就是這樣,很多東西非得看日誌才知道真實狀態),查看日誌,發現有很多SERVLET類沒找到,再到installedApp下看應用,怪事,發佈的應用下少了很多文件,WEB-INF下的LIB目錄不見了,CLASSES下也只有幾個類文件,WEB-INF下也只有兩個.xml文件,一些自定義的配置文件也不見了,爲什麼少了這麼多文件但還發布正常呢?看看日誌,沒有任何相關的信息,按以下途徑找問題:


1
、看看cells下的ear包,發現裏面東西是完整的,因此,打包上傳過程應該沒有問題
2
、壓縮包損壞?不可能,要壞了應該一個文件也出不來
3
、壓縮包版本不兼容?(有可能,因爲WAS是用IBMJDK),可又不可能,爲什麼以前的包又可以呢?雖說不可能,但還抱一些希望,分別用SUN jdk142IBM jdk142打包,現象依舊。
4
、懷疑壓縮包裏文件有問題,導致解壓COPY途中出問題(但出了問題爲什麼沒有提示?甚至連日誌都沒有!),還是試試,先後將lib,classes目錄清除,再逐個加入,還真發現了問題,是classes裏的文件導致COPY過程中止!那會是什麼文件呢?按常理這只是一具COPY過程,即使編譯後的.class文件有版本問題或是損壞也不應該中止這個過程呀!試着重編譯整個系統再打包,還是同樣的問題。
5
、只好瞎看看classes下到底有什麼文件,慢着,發現了可疑東西,在一些目錄中有幾個文件名類似如下的文件:".#Acctount.java.1.12",這是CVS產生的歷史版本文件,將這幾個文件去掉,打包,發佈...一切OK

 

這至少說明一個問題,對於龐大的WAS,存在的問題肯定不少:
1
、爲什麼在TOMCAT下能順利解壓並拷貝文件(即使有幾個特殊文件名的文件),而在WAS下不行?(試用了Window/unix下的WAS
2
、爲什麼解壓拷貝異常中止卻不給出任何提示?(控制檯說佈署成功,日誌也顯示成功),如果給出了提示,至少我認爲這不應該算是一個BUG
3
、照目前的現象,應該是WASBUG!可能是開發WAS的的某位老兄捕獲異常後什麼也沒幹,依然成功返回了。

 

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