MyEclipse開發EJB--SessionBean全過程

說起EJB開發工具中的豪傑,估計大家都會一致認爲非JBuilder莫屬,事實上我也這麼認爲。但是最近發現MyEclipse也不錯。雖然沒有像JB那樣強大的“EJB Desiner視圖”支持,但是藉助XDoclet的多才多藝與靈活高效,也使得MyEclipse在JB面前毫不遜色。

想必閱讀這個文章的朋友都已經具備豐富的開發經驗,有自己動手、發現、解決問題的能力,所以Eclipse和MyEclipse的安裝配置等細節我就不提了,讓我們從MyEclipse下的Weblogic配置開始吧。看圖作文:

(圖1:Weblogic配置)

01weblogic_config

根據自己的實際情況配置上圖的諸多參數,最後別忘了點擊“Apply”和“OK”按鈕,後面的類似操作也都別忘了。


(圖2:新建一個EJB工程)

 

 

選擇一個“J2EE – EJB Project”再Next。


(圖3:新建一個EJB工程續)

注意:因爲目前的Xdoclet版本只支持J2EE 1.3,所以爲了可以利用Xdoclet來自動生成EJB各接口的代碼和配置描述文件,這裏應該選擇J2EE 1.3 規範級別。


(圖4:新建一個EJB工程完畢)

工程創建好了,可以看到初始的目錄結構。


(圖5:新建一個SessionBean Module)

開始創建我們的第一個SessionBean吧。“J2EE – EJB – Session Bean”,就這麼簡單。


(圖6:創建期參數)

這個圖片上紅框表示的都是需要特別注意的地方,講解如下:
1. 爲適應Xdoclet的慣用法,EJB 組件的Bean類所在的包名應該以“.ejb”結尾,Bean類名應該以“Bean”或“EJB”結尾,這裏我用的是“Bean”。
2. 如果這個Bean類不經擴展而直接使用,那麼就應該實現一個“ejbCreate”方法。如果擴展後再使用的話,那麼可以放到子類裏面再實現。


(圖7:SessionBean創建完畢)

初始的SessionBean代碼創建好了,左邊“Package Explorer”裏可以看到當前的目錄結構,右邊的代碼窗口裏面可以看到Xdoclet自動生成的代碼,裏面有一些爲進一步生成各種接口代碼以及部署描述文檔所用的Xdoclet標記,這裏的標記很淺顯,大家顧名思義一看就明白了,如果要改變部署後的JNDI名稱以符合項目的具體規約要求,那麼可以在圖中紅框標示的地方修改。


(圖8:開始Xdoclet配置)

OK,現在開始最重要也最複雜的一步:Xdoclet配置。實際上Jbuilder的代碼自動生成的幕後功臣也是Xdoclet,只不過Borland把它封裝得嚴嚴實實,對於開發者來說就透明化了,這樣做的好處是傻瓜化,降低了配置的難度,壞處很明顯――損失了Xdoclet所著稱的靈活性。
MyEclipse提供了許多標準的Xdoclet模板,我們直接拿來再根據實際情況自定義屈指可數的幾個參數就可以使用了。


(圖9:)

添加一個“Standard EJB”配置


(圖10:Remove不需要的項目)

把我們當前工程中用不到的東西通通刪掉,例如dao,dataobject,entitybmp,entitycmp,entitypk,valueobject,utilobject。得到圖12所示的配置。


(圖11:)

 

(圖12:)

添加一個weblogic的部署描述選項,接着還要根據實際需要配置它。


(圖13:)

配置Createtables,設置爲AlterOrCreate,以便以後加入其它EJB組件時共享一個部署描述文件。


(圖14:)

配置destDir,就是weblogic-ejb-jar.xml文件所在的目錄。


(圖15:)

配置Version,根據實際的weblogic版本去兩個版本號即可,我用的版本是811,這裏設爲8.1。


(圖16:)

選擇使用動態Xdoclet配置文件還是靜態Xdoclet配置文件,這裏使用缺省的“動態”方式即可。


(圖17:)

OK,Xdoclet配置好之後就可以根據它的配置文件批量生成我們所期望的代碼和文檔了。


(圖18:)

Xdoclet執行過程。


(圖19:)

Finished,看看紅色選框裏的文件,怎麼樣?果然不負衆望吧?這裏包括遠程接口、本地接口、遠程Home接口、本地Home接口、ejb-jar.xml、weblogic-ejb-jar.xml等文件。


(圖20:)

這裏是遠程接口。看圖中的高亮部分,顧名思義,用你自己的商務方法替換Xdoclet模板生成的示例商務方法。


(圖21:)

這裏是Bean類。同樣是將示例方法替換成實際的商務方法。


(圖22:)

代碼都寫好了,文件也都整理好了,嗯,該部署了。


(圖23:)

部署過程很簡單。看圖,在“Project”選項中選擇我們的“Hello”工程,再點擊“Add”按鈕添加一個部署方案。


(圖24:)

部署到在文章初始就配置好的Weblogic8服務器,使用jar包方式。


(圖25:)

配置完畢,該啓動Weblogic看看效果了。 :)btw,整理使用的是離線部署(或者叫做“冷部署”)方式,也就是說在部署過程中Weblogic沒有啓動,這時候如果EJB組件包含部署期可發現的錯誤那麼在這一階段將不能得到報告,當然我們也可以使用在線部署(“熱部署”?)方式以即時得到部署期可能的異常,easy,自己嘗試吧。


(圖26:)

部署好之後該幹什麼呢?看着屏幕發呆?呵呵。。還是先寫個Client測試一下你的EJB組件是不是能夠正常運行吧。如圖,包名和類名除符合基本的JAVA規範之外都沒有硬性的規定,只是習慣上將類名的後綴設爲“TestClient”。


(圖27:)

因爲要用到Weblogic的初始上下文工廠(WLInitialContextFactory),所以我們應該導入Weblogic的函數庫,就是WL_HOME/server/lib/weblogic.jar了。當然這一步也未必就要放在這裏做,反正在測試程序運行之前就可以。


(圖28:)

該編寫我們的測試客戶端的實際代碼了,看圖,就那麼二三十行經典代碼,很簡單吧?


(圖29:)

叫上Weblogic,一起開動咯~


(圖30:)

Weblogic啓動成功,啓動過程中會自動載入我們剛纔冷部署的EJB組件,這次沒有報告任何異常,說明我們的EJB組件是正確無誤的。


(圖31:)

執行我們的測試客戶端,得到預期的輸出。


(圖32:)

然後觀察Weblogic的控制檯,同樣也是我們所期望的反饋,yeah,收工,吃飯去了。


有問題請大家回帖共同探討。
希望還有機會下次跟大家討論EntityBean的開發,
再下次是MessageDrivenBean,以及綜合實例。:)

參考文獻:《MyEclipse Application Developer Guide》。

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