使用MyEclipse開發(fā)Java EE應(yīng)用:創(chuàng)建一個JavaEE EJB項目(下)
MyEclipse限時秒殺火熱進(jìn)行中,僅限15天?。?a target="_blank">活動火熱開啟中>>
三、部署B(yǎng)ean
部署和運行步驟是通過使用MyEclipse將bean部署到符合Java EE 6.0的應(yīng)用程序服務(wù)器來完成的,本教程使用Glassfish 3.1。
1. 在Servers視圖中右鍵單擊Glassfish服務(wù)器,然后選擇Add/Remove部署。
2. 在可用列表中選擇SampleEJBProject,單擊Add,然后單擊Finish。
3. 右鍵單擊服務(wù)器,如果服務(wù)器未運行,請選擇Start。
應(yīng)用程序服務(wù)器啟動并顯示關(guān)于成功部署會話Bean的控制臺視圖消息。
四、測試Bean
要測試,您需要在包中創(chuàng)建一個新的Java測試類。
1. 右鍵單擊該包,然后選擇New>Class。
2. 在Name字段匯總輸入MyBeanClient,然后選擇Public static void main復(fù)選框來告訴MyEclipse為它生成一個main方法,單擊Finish。
Java類詳細(xì)信息在向客戶端添加并運行代碼之前,需要將gf-client.jar添加到構(gòu)建路徑中。該JAR來自Glassfish 3庫文件夾,并且包含一個自定義的jndi.properties文件,可以自動直接連接到Glassfish 3 JNDI上下文,幾乎不用再檢索該bean。
3. 右鍵單擊該項目,然后選擇Build Path>Configure Build Path。
4. 選擇Libraries標(biāo)簽,然后單擊Add External JARs。
5. 導(dǎo)航到Glassfish安裝文件夾,然后導(dǎo)航到lib文件夾,然后雙擊gf-client.jar。
6. 單擊OK。
將外部JAR添加到構(gòu)建路徑,現(xiàn)在您可以向測試客戶端添加代碼并運行它。
7. 雙擊MyBeanClient.java,并用以下的代碼進(jìn)行替換,使用CTRL + S保存。
package sampleejbproject; import javax.naming.InitialContext; import javax.naming.NamingException; public class MyBeanClient { public static void main(String[] args) { try { InitialContext ctx = new InitialContext(); MyBeanRemote bean = (MyBeanRemote) ctx.lookup(MyBeanRemote.class.getName()); bean.doSomething(); } catch (NamingException e) { e.printStackTrace(); } } }
在上面的代碼中有一些關(guān)鍵的信息要注意:
- 代碼將返回的bean轉(zhuǎn)換為MyBean而不是MyRemoteBean,因為它正在從JNDI上下文中請求遠(yuǎn)程Bean。如上所述,不同的本地/遠(yuǎn)程接口暴露的方法可能會有所不同,因此您需要堅持請求接口。
- Glassfish對未指定EJB的EJB使用默認(rèn)的JNDI名稱綁定,再查看服務(wù)器日志截圖。注意默認(rèn)名稱打印在日志中,此默認(rèn)名稱因應(yīng)用程序服務(wù)器而異,大多數(shù)人將使用@Stateless注釋的mappedName值來指定所有應(yīng)用服務(wù)器中的新綁定。例如:@Stateless(name=”MyBean”, mappedName=”ejb/MyBean”)。
- 在擁有了bean之后,您可以像一個本地實例一樣對待它,只需要調(diào)用它即可。
由于bean代碼的編寫(System.out.println),結(jié)果將輸出到MyEclipse中的應(yīng)用程序服務(wù)器控制臺視圖。要查看應(yīng)用程序的結(jié)果,請右鍵單擊MyBeanClient.java,然后從菜單中選擇Run As> Java Application。
五、資源
- Sample EJB3 Project for this Tutorial
- List of Many Glassfish / EJB3 Tutorials and Tips
- Glassfish EJB3 FAQ