天天看點

websphere 6.1遷移至tomcat 6.0

    前一段據說websphere報出了新的bug,于是公司幾台布置websphere的伺服器忍不住要往tomcat上遷移了。之前完全沒有接觸過websphere,網上找了些資料,走馬觀花式的現學現賣,說實在的,websphere除了結構目錄對開發人員很不友好外,功能還是很強大的,比如能實作叢集的自動化布置及監控管理,某一台伺服器挂掉了,幾分鐘内就能自動重新開機。當然,這是他強大的地方,但這也是他令人擔憂的地方,畢竟花錢買了你的服務,還經常出bug,出錢的大佬們不方才怪。。。

    入正題,第一次做類似伺服器布置的事情,這裡隻是作為小白記下一些關鍵點,關鍵點下更深層次的原理,要等忙完這一段才能去搞明白了。

    首先,如大部分人所說,websphere遷移到tomcat基本不用更改什麼,将ear包解壓得到的war包釋出到tomcat上,直接就可以跑,但是某些配置方面還是不一樣的,我這裡遇到的就是資料庫的配置問題。

    websphere的資料源是可以通過背景很容易的配置的,至于資料源配置檔案放在什麼目錄下我一直沒找到(隻在/AppServer/profiles/logs/ffdc目錄下有搜到資料源的記錄),我将解壓的到的war包釋出到tomcat上之後有如下幾步波折:

     1)發現正确的資料源配置不見了(/META-INFO/context.xml以及釋出到tomcat後在目錄/conf下生成的WEB.xml中都沒有正确的資料源,倒是有其他兩個莫名的資料源配置)。

     2)找運維的同僚要來正确的資料源配置(其實是我傻,在websphere的控制台ip:9060/ibm/console/ 就能看到資料源配置,但是接入的使用者名和密碼還是要找DBA要的)後,仍舊報同一個錯:Name jdbc is not bound in this context.在上下文找不到資料源。

     3)原來在conf.properties中配置的源名字(jdbc/web)是私有源,導緻在global context無法通過JNDI定位到該源,修改方法:在前面加上java:comp/env/變成java:comp/env/jdbc/web就OK了。至于對于JNDI的了解表示之前也是少的可憐,相關資料可網上自找。

     4)tomcat成功跑起來了,但是通路的時候伺服器沒響應?确認了IP和端口無誤,捉急,後面忽然想起,tomcat預設通路ROOT工程目錄,我之前的war名叫WEB.war,釋出之後生成的自然是WEB工程目錄了,加上在端口後加上WEB,果然跳轉到了index頁面。

    至此,遷移基本完成。

    表示還是太菜,基本功太不紮實了。。。關于tomcat的配置檔案的作用及關系,tomcat中JNDI的作用原理等都有很多不清楚的地方,日後如再有心得,便在這裡續上。

繼續閱讀