IBM Webpshere6(WAS6) bug发现一例
IBM Webpshere6(WAS6) bug發現一例
對于沒有EJB的J2EE工程,打包發布都不會遇到太大的問題,因此,在我們項目組,開發測試都只有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是用IBM的JDK),可又不可能,為什么以前的包又可以呢?雖說不可能,但還抱一些希望,分別用SUN jdk142和IBM 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、照目前的現象,應該是WAS的BUG!可能是開發WAS的的某位老兄捕獲異常后什么也沒干,依然成功返回了。
?
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的IBM Webpshere6(WAS6) bug发现一例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 厌倦了SWT TABLE,何不试试KTA
- 下一篇: 怀念奶奶