jboss to weblogic移值說明(原創)
好不容易把原有的jboss系統移值到了weblogic上,呵呵花了一天時間,真是充滿痛苦和憤怒,就像當初把
系統部署到jboss上一樣,一出錯就是好多,呵呵,只有一個個的看,但比較另人費解的是,在部署jboss出錯
時,前後錯誤不一樣,前面提示的是正確的,而後面又提示你是別的bean出現不符合規範引起的錯誤。呵呵,
不說了,想必各位也經歷過如何情形,慢慢享受吧。言歸正傳:
在我看來jboss的配置還是比較簡單,不是很複雜和難以理解的,儘管都是手工的(沒有人用jmx-console配吧
),雖然weblogic的配置很圖形化,但是不知道配置的東東跑到什麼地方去了,config.xml檔案只能找到conne
ction pool等得配置,但是系統級的找不著,很典型的是log級別的配置,不知放哪裡了,對weblogic瞭解不深
,還望各位高手指點。
第一步:jbosscmp-jdbc.xml->weblogic-cmp-rdbms-jar.xml
如果你沒有weblogic-cmp-rdbms-jar.xml檔案的樣本,jbuilder生成一個。
這個檔案主要包含ejb欄位和資料庫欄位的對應關係,移植這個檔案修改不是很多,主要是datasource
需要修改,其餘就是tag的不同了。
首先是資料來源的修改,weblogic和jboss都提供對某個具體的EntityBean的datasource定義,而jboss還
提供所有預設的datasource,所以如果jbosscmp-jdbc.xml用的預設的datasource形如:
的得修改一下了,加到每個WEBLOGIC 每個定義entity下。另外java:/OracleDS得修改為OracleDS
示例:
移植後的WEBLOGIC weblogic-cmp-rdbms-jar.xml
注意weblogic datasource每個entity都需定義
第二步:jboss.xml->weblogic-ejb-jar.xml
jboss.xml中主要描述的是EJB的local和remote jndi名稱,以及EJB資源和實際的對應關係
weblogic.xml中也是如此,weblogic中還必須定義Entity的persistence type。
除此,如過你沒有用到別的依賴伺服器的設定,基本上修改也就不多了。
sessionbean大體上不用修改啥,修改一下tag就ok了。對於entity還得加上entity-descriptor
示例:
對於ejb來將需要修改的地方只有兩處了,當然如果你需要調整一下效能,那就是以後慢慢加的事了。
對於web應用來要可能增加weblogic.xml配置檔案(如果你定義了ejb引用的話),也可以不要。
好了部署檔案的修改完了。下面是weblogic的配置了,網上weblogic配置的文件也不少。我大概說說datasourc
e配置,以及和jboss的區別
jboss: 在JBOSS_HOME\docs\examples\jca目錄中有關於各個資料庫的配置(如oracle-ds.xml),修改一
下然後放到jboss的deploy目錄下(jboss預設啟動的是default那個目錄,如果你要啟動別的配置,需加引數-
c)
,注意jndi-name名稱就是你在部署檔案中用到的OracleDS,如果你想加一些其他的關於datasource的配置(如
對最大連線數的配置),可以將jca目錄下generic-ds.xml配置考到你的檔案中,那個是所有ds的預設配置。(3.
2.1和3.0.X不同)
weblogic:先配置connection pools,配置一個連線,然後再新建一個datasource就ok了.
這裡有點說明:weblogic的DataSource
Jndi是OracleDS,而jboss是java:/OracleDS,注意兩者datasource的區別.
配置好後可以將你檔案打包部署到weblogic上了,如果在development
mode模式,可以直接將檔案copy到user_projects\mydomain\applications下,weblogic會自動部署,不過你上控
制臺看一下部署好的應用名可能不是你剛才的那個,weblogic也自動生成一個臨時的名稱
也可以直接再控制檯上上傳檔案部署,或者用別的工具了.
說一下部署過程中會遇到的一些問題.
1.不符合ejb規範.報錯ejbc....之類的錯誤,這種情況最好在部署時將weblogic的log級別調整到info
lever,這樣可以看到具體是什麼地方不符合規範.如果你只透過web看部署的錯誤,你會弄的一頭霧水的.:)
這裡要說一點的是,我原來用xdoclet生成的ejb在jboss上部署沒問題,在weblogic中部署提示少了一個ejbRemov
e方發,查了一下果然是少了,而jboss部署沒有報錯,這可能和實現有關係,weblogic是透過ejbc生成stub和proxy
程式碼,而jboss主要使用的reflect,會提供給ejb一些預設的方法.(個人想法)
2.datasource沒找著,在部署entity時,會根據datasource去找資料來源的,如果你部署檔案寫錯了,或者你配置
的有問題,都會引起該問題.
3.log4j問題,JBOSS是使用的log4j做為日誌,所以原來程式的log配置都和jboss放在一起了,現在移值到weblogi
c上,呵呵,都沒了,只是我的info lever的日誌可以出來.看來得手工配一配了:)
以上講的是ejb移植平臺最基本的配置,由於本人對weblogic不熟,沒有涉及高階一些的配置.其中有些不對的
地方,懇請交流指正!
歡迎來信探討
mcindo
mcindo@etang.com
系統部署到jboss上一樣,一出錯就是好多,呵呵,只有一個個的看,但比較另人費解的是,在部署jboss出錯
時,前後錯誤不一樣,前面提示的是正確的,而後面又提示你是別的bean出現不符合規範引起的錯誤。呵呵,
不說了,想必各位也經歷過如何情形,慢慢享受吧。言歸正傳:
在我看來jboss的配置還是比較簡單,不是很複雜和難以理解的,儘管都是手工的(沒有人用jmx-console配吧
),雖然weblogic的配置很圖形化,但是不知道配置的東東跑到什麼地方去了,config.xml檔案只能找到conne
ction pool等得配置,但是系統級的找不著,很典型的是log級別的配置,不知放哪裡了,對weblogic瞭解不深
,還望各位高手指點。
第一步:jbosscmp-jdbc.xml->weblogic-cmp-rdbms-jar.xml
如果你沒有weblogic-cmp-rdbms-jar.xml檔案的樣本,jbuilder生成一個。
這個檔案主要包含ejb欄位和資料庫欄位的對應關係,移植這個檔案修改不是很多,主要是datasource
需要修改,其餘就是tag的不同了。
首先是資料來源的修改,weblogic和jboss都提供對某個具體的EntityBean的datasource定義,而jboss還
提供所有預設的datasource,所以如果jbosscmp-jdbc.xml用的預設的datasource形如:
<defaults> <datasource>java:/OracleDS</datasource> <datasource-mapping>Oracle9i</datasource-mapping> <create-table>false</create-table> </defaults> <p class="indent"> |
的得修改一下了,加到每個WEBLOGIC 每個定義entity下。另外java:/OracleDS得修改為OracleDS
示例:
jbosscmp-jdbc.xml <jbosscmp-jdbc> <defaults> <datasource>java:/OracleDS</datasource> <datasource-mapping>Oracle9i</datasource-mapping> <create-table>false</create-table> </defaults> <enterprise-beans> <entity> <ejb-name>Test</ejb-name> <table-name>Test</table-name> <cmp-field> <field-name>lineNbr</field-name> <column-name>LINE_NBR</column-name> </cmp-field> <cmp-field> <field-name>nxxNbr</field-name> <column-name>NXX_NBR</column-name> </cmp-field> </entity> <enterprise-beans> .... </bosscmp-jdbc> |
移植後的WEBLOGIC weblogic-cmp-rdbms-jar.xml
<weblogic-rdbms-jar> <weblogic-rdbms-bean> <ejb-name>AccNbr</ejb-name> <data-source-name>OracleDS</data-source-name> <table-map> <table-name>Test</table-name> <field-map> <cmp-field>lineNbr</cmp-field> <dbms-column>LINE_NBR</dbms-column> </field-map> <field-map> <cmp-field>nxxNbr</cmp-field> <dbms-column>NXX_NBR</dbms-column> </field-map> </table-map> </weblogic-rdbms-bean> .... </weblogic-rdbms-jar> |
注意weblogic datasource每個entity都需定義
第二步:jboss.xml->weblogic-ejb-jar.xml
jboss.xml中主要描述的是EJB的local和remote jndi名稱,以及EJB資源和實際的對應關係
weblogic.xml中也是如此,weblogic中還必須定義Entity的persistence type。
除此,如過你沒有用到別的依賴伺服器的設定,基本上修改也就不多了。
sessionbean大體上不用修改啥,修改一下tag就ok了。對於entity還得加上entity-descriptor
示例:
jboss.xml <entity> <ejb-name>Test</ejb-name> <local-jndi-name>Test</local-jndi-name> </entity> weblogic-ejb-jar.xml <weblogic-enterprise-bean> <ejb-name>Test</ejb-name> <entity-descriptor> <persistence> <persistence-use> <type-identifier>WebLogic_CMP_RDBMS</type-identifier> <type-version>6.0</type-version> <type-storage>META-INF/weblogic-cmp-rdbms-jar.xml</type-storage> </persistence-use> </persistence> </entity-descriptor> <local-jndi-name>Test</local-jndi-name> </weblogic-enterprise-bean> |
對於ejb來將需要修改的地方只有兩處了,當然如果你需要調整一下效能,那就是以後慢慢加的事了。
對於web應用來要可能增加weblogic.xml配置檔案(如果你定義了ejb引用的話),也可以不要。
好了部署檔案的修改完了。下面是weblogic的配置了,網上weblogic配置的文件也不少。我大概說說datasourc
e配置,以及和jboss的區別
jboss: 在JBOSS_HOME\docs\examples\jca目錄中有關於各個資料庫的配置(如oracle-ds.xml),修改一
下然後放到jboss的deploy目錄下(jboss預設啟動的是default那個目錄,如果你要啟動別的配置,需加引數-
c)
,注意jndi-name名稱就是你在部署檔案中用到的OracleDS,如果你想加一些其他的關於datasource的配置(如
對最大連線數的配置),可以將jca目錄下generic-ds.xml配置考到你的檔案中,那個是所有ds的預設配置。(3.
2.1和3.0.X不同)
weblogic:先配置connection pools,配置一個連線,然後再新建一個datasource就ok了.
這裡有點說明:weblogic的DataSource
Jndi是OracleDS,而jboss是java:/OracleDS,注意兩者datasource的區別.
配置好後可以將你檔案打包部署到weblogic上了,如果在development
mode模式,可以直接將檔案copy到user_projects\mydomain\applications下,weblogic會自動部署,不過你上控
制臺看一下部署好的應用名可能不是你剛才的那個,weblogic也自動生成一個臨時的名稱
也可以直接再控制檯上上傳檔案部署,或者用別的工具了.
說一下部署過程中會遇到的一些問題.
1.不符合ejb規範.報錯ejbc....之類的錯誤,這種情況最好在部署時將weblogic的log級別調整到info
lever,這樣可以看到具體是什麼地方不符合規範.如果你只透過web看部署的錯誤,你會弄的一頭霧水的.:)
這裡要說一點的是,我原來用xdoclet生成的ejb在jboss上部署沒問題,在weblogic中部署提示少了一個ejbRemov
e方發,查了一下果然是少了,而jboss部署沒有報錯,這可能和實現有關係,weblogic是透過ejbc生成stub和proxy
程式碼,而jboss主要使用的reflect,會提供給ejb一些預設的方法.(個人想法)
2.datasource沒找著,在部署entity時,會根據datasource去找資料來源的,如果你部署檔案寫錯了,或者你配置
的有問題,都會引起該問題.
3.log4j問題,JBOSS是使用的log4j做為日誌,所以原來程式的log配置都和jboss放在一起了,現在移值到weblogi
c上,呵呵,都沒了,只是我的info lever的日誌可以出來.看來得手工配一配了:)
以上講的是ejb移植平臺最基本的配置,由於本人對weblogic不熟,沒有涉及高階一些的配置.其中有些不對的
地方,懇請交流指正!
歡迎來信探討
mcindo
mcindo@etang.com
相關文章
- Jbuilder7+weblogic6.X配置說明UIWeb
- (原)ROP公式的說明公式
- 技術文章遷移說明
- 商品詳情 API 返回值說明API
- MySQL 5.6 sql_mode常用值說明MySql
- 請教關於jboss與weblogic/websphereWeb
- 把WebLogic EJB程式遷移到JBoss上Web
- Weblogic環境下的JSP預編譯圖文說明WebJS編譯
- 淘寶/天貓獲得淘寶app商品詳情原資料 API 返回值說明APPAPI
- Oracle 跨作業系統 遷移 說明Oracle作業系統
- 用Excel做資料說明――移動平均Excel
- Oracle 跨作業系統遷移說明Oracle作業系統
- Oracle跨作業系統遷移說明Oracle作業系統
- 【原創】MySQL 返回更新值(RETURNING)MySql
- weblogic,tomcat,JBoss以及Websphere的區別WebTomcat
- weblogic專案能部署到Jboss中嗎?Web
- 淘寶/天貓天天特價 API 返回值說明API
- 淘寶/天貓獲得淘寶商品詳情原資料 API 引數及返回值說明API
- 淘寶/天貓收貨地址列表 API 返回值說明API
- (12)非阻塞賦值與阻塞賦值區別(以簡單例子說明)賦值單例
- weblogic 和jboss執行struts+hibernate的不同Web
- 京東獲得JD商品詳情 API 返回值說明API
- 京東上傳圖片到JD API 返回值說明API
- MySQL監控專案指標值解釋和說明MySql指標
- 攜程獲取景點詳情 API 返回值說明API
- SYSAUX 說明UX
- 使用說明
- Hack 說明
- [原創]淺談移動App安全測試APP
- 專利說明書及其說明書附圖
- 【原創】用示例說明表資料中出現熱塊&Latch的場景,並給出解決方案?
- [原創]掙值管理中何時計算PV?
- MySQL:關於排序order by limit值不穩定的說明(1)MySql排序MIT
- 淘寶 / 天貓獲取 sku 詳細資訊 API 返回值說明API
- 易貝獲得EBAY商品詳情 API 返回值說明API
- 根據關鍵詞取商品列表API返回值說明API
- 淘寶/天貓新增到購物車 API 介面返回值說明API
- 淘寶/天貓獲得淘寶商品詳情 API 返回值說明API