weblogic版本升級遷移需要注意事項

jaymarco發表於2020-11-05

一、前言

     今天介紹一下各種型別常用中介軟體軟體版本遷移需要注意的事項。

二、遷移事項

1、weblogic 版本升級

  從 weblogic 低版本(如 weblogic 9 )升級到目前 x86 weblogic11g 環境下 , JDK 版本由 1.5 調整到 1.6 ,版本跨度較大, JDK 產品特性也隨之變更,會造成程式碼不相容的現象,需要開發商重新將應用程式使用 JDK 1.6 的編譯器重新編譯程式碼,做好相應的業務測試工作。

2、SOA版本升級

  從 soa低版本(如 soa 9/10)升級到目前 x86 soa11g環境下,新舊 soa 環境執行機制差異很大,屬於大版本的升級範疇,需要重新搭建一套 11g的環境,將現網資料庫環境完整的遷移到新環境中去,然後把原先的應用在新環境上重新部署一遍、重新配置相應的資料來源元件等。接下來在新的測試環境中,把所有的服務重新測試一遍,記錄每一次變更結果,以便於在能夠將應用能夠從低版本 soa 平滑遷移到 soa 11g 環境中去。

3、不同型別中介軟體升級遷移

  對於從其它中介軟體版 (tomcat  jboss/websphere )遷移到 weblogic11g 環境下,需要對相應程式碼進行檢查。  

     1.         tomcat/jboss 遷移到 weblogic11g 注意事項 

           tomcat 是開源中介軟體產品,本身工作機制,不符合 J2EE 規範,遷移 weblogic 下需要按如下選項進行檢查:

    l   JDK Servlet 版本檢查 :建議使用 JDK1.6 的版本編譯現有最新原始碼,由於 WebLogic11g 不支援 J2EE1.6 以下的版本, Servlet 規範使用 2.5 ,不能使用 3.0

     l   第三方類載入檢查 : 檢查第三框架類載入機制,如 Struts spring 框架類結合時,需要注意的是 Struts plugin 是透過 servlet 載入,排在 Listener 載入之後,而移植到 WebLogic 後, Struts 所有類會在容器啟動的時候全部載入,導致 Struts Plugin WebLogic 裡不能使用 Spring 管理的 Bean 現象,建議對相應類載入進行修改,使用 Servlet init() 方法進行載入。

     l   包含檔案使用方式檢查 :在 WebLogic 中不允許在一個檔案中出現一次以上類似 <%@ page contentType="text/html; charset=GBK"%> 的程式碼,當使用 include file 時,請將被 include 的檔案中類似程式碼刪除,否則編譯後客戶端顯示為亂碼現象。

     l   日誌使用方式檢查 : 如果應用程式中使用到 log4j 框架記錄日誌檔案,需要在對應的 web.xml 檔案中將 log4jListener 載入方式改 Servlet 載入方式。

     l   絕對路徑檢查 : weblogic 是以 war 包的形式釋出的,並沒有 realPath ,故不能用 getServletContext().getRealPath("/") 獲得絕對路徑,需要修改成 getServletContext().getResource("/") 方式

     l   反斜槓檢查 : Tomcat 下,引用另外一個 jsp 的時候正反斜槓是不區分的。但是到了 weblogic 下,會報檔案找不到的情況,需將 \ 改為 / 即可。

     l    第三方包衝突檢查: 為了避免第三包與 weblogic 本身自帶的包之間存載入衝突,可以設定 weblogic.xml prefer-web-inf-classes 屬性讓系統優先使用應用程式自帶的包

2.         websphere 遷移到 weblogic11g 注意事項

     l   JDK 版本檢查 :部署在 websphere 上的應用是採用 IBM JDK 進行編譯,建議使用 Oracle JDK1.6 的版本重新編譯後再進行部署。

    l   資料來源檢查 : websphere 中應用程式使用資料來源名稱中可以有正斜槓,而在 weblogic 中因連線池名稱命名規則問題顯示不能實別,需要把正斜槓改了點號,並且將對應程式碼引用的改為新的名稱即可。

     l   萬用字元檢查 : weblogic 不支援 classpath* 格式,只支援相對路徑,如WEB-INF/classes/applicationContext.xml

                 l SESSION 檢查 : weblogic 上如果需要配置 session 複製功能,需要在 weblogic.xml  裡面配置 session-descriptor 相關資訊,注意任何需要持久化的 session 中的內容必須都實現 java.io.Serializable 介面,否則無法進行復制。

4、跨作業系統遷移

     從其它非 x86 作業系統( aix solaris windows 等)上跑的應用遷移到 x86 weblogic 11g 環境下,除了上面提到相應檢查注意事項外,還需檢查應用是否呼叫作業系統本身內部的檔案如 so 檔案,如有呼叫需要檢查 x86 環境下是否有同樣作業系統檔案,或者採取其它方式進行解決。除此之外,還需將應用程式重新按 x86 weblogic11g 所屬的 JDK 1.6 版本重新編譯,再進行相應業務功能測試。

有需要的朋友可以關注我的公眾號,文章每日一更


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28833846/viewspace-2732496/,如需轉載,請註明出處,否則將追究法律責任。

相關文章