多圖詳解 Java EE 6的EJB模型案例
原創【51CTO獨家編譯】本文將介紹EJB模型在Java EE 6新的WebService的應用。Java EE 6最重要的一個新功能便是更好的使用EJB模型。EJB模型規定把企業bean組件一定要裝在EJB-jar文件模塊中。而Java EE Web應用程序通常使用的企業Bean,這些組件的必要條件必須是能承受很多負載。
了解更多的Java EE 6特性敬請關注51CTO專題:Java EE 6平臺指南。
因為EJB 3.1的企業bean類計算繁重的問題在EJB-jar文件打包受到限制,所以必須解決這種打包受到復雜的限制。于是你只能把EJB模型放在WEB-INF/classes目錄下,或者把EJB模型文件壓縮成jar文件放在WEB-INF/lib目錄下,這樣,你才能你直接把EJB放在文件里,使用相同的適用于Web應用程序類組件規則。同時EJB模型的部署描述符也是可選的,如果你需要它,你可以把EJB部署描述符打包成一個WEB-INF/EJB-jar.xml文件。
因此,我們把上述想法EJB在webservices上表現出來。下文就來講講如何簡單地使用NetBeans 6.9和Glassfish 3.0.1通過創建和部署EJB模型。
首先,讓我們使用NetBeans 6.9創建一個Webservice。
NetBeans 6.9創建一個Webservice
接下來,我們指定項目位置。
指定項目位置
選擇GlassFish 3.0.1與NetBeans 6.9是捆綁在一起的服務器。注意:我使用JavaEE 6的版本。
選擇GlassFish 3.0.1與NetBeans 6.9
#p#
現在我們創建一個WebService的項目叫:Weather,目標項將顯示為溫度。
創建一個WebService的項目:Weather
點擊Finish就完成了。
這里是到WebService的代碼。注意:我已經添加一個WebMethod。我還指定了Interceptor的注釋。EJB 3.0的Interceptor提供了良好的方法調用控制開發。在這個例子中我們打印了從該Interceptor被調用的方法。
這里是SimpleInterceptor.java代碼。
SimpleInterceptor.java代碼
接下來,我們清理并生成項目.
生成項目
然后點擊部署。
從這里您可以瀏覽的WSDL:http://localhost:8080/WeatherService/Weather?wsdl
瀏覽的WSDL
注意:在WebService上EJB模型只是一個簡單便捷的組件。如果是在一個一個EJB模型的EJB-jar壓縮文件部署相同,在該端點部署網址也是一樣的。在Glassfish 3.0有一個bug的EJB符被當作webapps的對待。所以在這里使用的都是GlassFish 3.0.1或者GlassFish 3.1。
你看到部署的EJB模型使用NetBeans非常容易建立的。你也可以使用測試儀測試應用程序的webservice在http://localhost:8080/WeatherService/Weather?tester。這便是51CTO為各位編譯的Java EE 6的EJB模型案例。
原文名:JavaEE 6: EJB Webservices in war
原文地址:weblogs.java.net
原文作者:Bhakti Mehta
【51CTO譯稿,非經授權謝絕轉載,合作媒體轉載請注明原文出處、作者及51CTO譯稿和譯者!】
【編輯推薦】
- EJB 3.1五大模式改進令Java EE 6更好用
- Java EE 6數據驗證新框架:Bean驗證
- 三百國外開發者評Java EE 6:價值重大的改進
- WCF創建WebService正確操作步驟詳解
- Java EE 6核心特征:Bean Validation解析