翻譯|使用教程|編輯:陳津勇|2019-11-13 16:25:55.360|閱讀 281 次
概述:本教程介紹了EJB 3 Stateless Session bean的開發(fā)過程。通過本教程,您將學(xué)習(xí)如何創(chuàng)建創(chuàng)建EJB 3項目、創(chuàng)建無狀態(tài)會話bean、部署和測試bean。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
本文承接上篇,繼續(xù)為大家介紹使用MyEclipse開發(fā)EJB 3 Stateless Session Bean的其他步驟。
3.部署B(yǎng)ean
部署和運(yùn)行步驟是通過使用MyEclipse將Bean部署到符合Java EE 6的應(yīng)用程序服務(wù)器來完成的。本教程使用TomEE。
注意:必須在TomEE system.properties文件中禁用黑名單,以允許遠(yuǎn)程調(diào)用EJB。打開以下文件:
在“Servers”視圖中右鍵單擊TomEE server,然后選擇Add/Remove Deployments。
在可用列中選擇SampleEJBProject,單擊“Add”,然后單擊“Finish”。
右鍵單擊服務(wù)器,如果服務(wù)器未運(yùn)行,選擇“Start”。
應(yīng)用程序服務(wù)器啟動,并向控制臺視圖顯示有關(guān)成功部署Session Bean的消息。
4.測試Bean
在測試之前,需要在包中創(chuàng)建一個新的Java測試類。
右鍵單擊該程序包,然后選擇New > Class。
在“Name”字段中輸入MyBeanClient,然后選擇Public static void main復(fù)選框,讓MyEclipse為其生成主方法。單擊Finish。
在將代碼添加到客戶端并運(yùn)行之前,需要將openejb-client-4.7.4.jar添加到構(gòu)建路徑。該JAR來自TomEE庫文件夾,是可實(shí)現(xiàn)EJB遠(yuǎn)程調(diào)用規(guī)范的客戶端。
右鍵單擊項目,然后選擇Build Path> Configure Build Path。
單擊“Libraries”選項卡,然后單擊“Add External JARs”。
導(dǎo)航到TomEE安裝文件夾,然后導(dǎo)航到lib文件夾,然后雙擊openejb-client-4.7.4.jar。
單擊確定。
現(xiàn)在,您可以將代碼添加到測試客戶端并運(yùn)行它了。由于剛剛添加了JAR,實(shí)際的代碼非常簡單。
雙擊MyBeanClient,并將代碼替換為以下代碼。按Ctrl+S保存。
package sampleejbproject; import java.util.Properties; import javax.naming.InitialContext; import javax.naming.NamingException; public class MyBeanClient { public static void main(String[] args) { try { Properties p = new Properties(); p.put("java.naming.factory.initial", "org.apache.openejb.client.RemoteInitialContextFactory"); p.put("java.naming.provider.url", "//localhost:8080/tomee/ejb"); InitialContext ctx = new InitialContext(p); IMyBean bean = (IMyBean) ctx.lookup("MyBeanRemote"); bean.doSomething(); } catch (NamingException e) { e.printStackTrace(); } } }
在上面的代碼中有一些關(guān)鍵的事情需要注意:
代碼將返回的Bean不是轉(zhuǎn)換為MyBean,而是MyRemoteBean接口,因為它正在從JNDI上下文請求遠(yuǎn)程Bean。如上所述,不同的本地/遠(yuǎn)程接口公開的方法可能會有所不同,因此需要堅持使用所請求的接口。
TomEE對沒有指定名稱綁定的EBJ使用默認(rèn)的JNDI名稱綁定,如下面的截圖。注意,默認(rèn)名稱已在日志中打印出來。此默認(rèn)名稱因應(yīng)用程序服務(wù)器而異,并且大多數(shù)人會使用@Stateless批注的maptedName值在所有應(yīng)用程序服務(wù)器之間指定新的綁定。例如:@Stateless(name="MyBean", mappedName="ejb/MyBean")。
擁有Bean之后,可以將其視為本地實(shí)例,然后簡單地調(diào)用它。
5.資源
慧都16周年·技術(shù)服務(wù)月,軟件商城優(yōu)惠券不限量免費(fèi)領(lǐng)取,購MyEclipse/CodeMix享折上折>>>
想進(jìn)一步了解MyEclipse?知你所需,解你所惑!
想與更多人聊MyEclipse?加入MyEclipse中國(官方2):742336981暢所欲言吧!
想及時獲取MyEclipse資訊?掃描下方二維碼,MyEclips信息跟你走!
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@ke049m.cn
文章轉(zhuǎn)載自: