使用MyEclipse開發(fā)Java EE應(yīng)用:開發(fā)EJB 3 Stateless Session Bean(二)
本文承接上篇,繼續(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ù)器啟動(dòng),并向控制臺(tái)視圖顯示有關(guān)成功部署Session Bean的消息。
4.測試Bean
在測試之前,需要在包中創(chuàng)建一個(gè)新的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ī)范的客戶端。
右鍵單擊項(xiàng)目,然后選擇Build Path> Configure Build Path。
單擊“Libraries”選項(xiàng)卡,然后單擊“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", "http://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接口,因?yàn)樗趶腏NDI上下文請求遠(yuǎn)程Bean。如上所述,不同的本地/遠(yuǎn)程接口公開的方法可能會(huì)有所不同,因此需要堅(jiān)持使用所請求的接口。
TomEE對沒有指定名稱綁定的EBJ使用默認(rèn)的JNDI名稱綁定,如下面的截圖。注意,默認(rèn)名稱已在日志中打印出來。此默認(rèn)名稱因應(yīng)用程序服務(wù)器而異,并且大多數(shù)人會(huì)使用@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官方中文網(wǎng)】知你所需,解你所惑!
想與更多人聊MyEclipse?加入MyEclipse中國(官方2):742336981暢所欲言吧!
想及時(shí)獲取MyEclipse資訊?掃描下方二維碼,MyEclips信息跟你走!