2011-06-09 41 views
1

我正在學習Java EE(特別是EE 6),並發現EJB和EJB Lite之間的區別有點混亂。EE6 web profile ...沒有EJB容器?

Java EE6 Web配置文件僅支持EJB Lite。

我對「EJB Lite」的理解是,它是EJB的一個更簡單的子集(我可以很容易地找到所記錄的差異),並將您的EJB類打包到WAR中。

所以我只能從包含在同一個WAR中的webapp訪問那些EJB類(或者如果我把它們放在同一個EAR中,那麼是另一個webapp)?

我認爲這意味着EJB Lite類被部署到web容器。這是否意味着EE6 Web配置文件中沒有EJB容器?

(也我們需要一個網絡配置文件標籤?)

回答

1

注意,EJB精簡版由兩個網絡配置文件和EJB嵌入式容器共享。

1.

這樣,我只能夠從Web應用程序訪問這些 EJB類在同一個WAR(或如果 我把他們都在同一個EAR另一個Web應用程序),包含 ?

科EJB 3.1規範的20.4.3:

本地客戶端視圖(包括 無界面視圖)一個.war 文件中定義的一個企業 bean組件的僅是需要可訪問 到同一.war 文件中的組件。應用程序需要訪問 本地客戶端視圖的企業 來自不同模塊的 相同的應用程序應該使用ejb-jar 文件來定義公開本地客戶端視圖的企業bean 。

請注意,該規範允許供應商擴展,以便其他模塊可以使用EJB,但依賴於此將不可移植。

2.

假設,這意味着EJB 精簡版類部署到Web容器 。這是否意味着 在EE6 Web 配置文件中沒有EJB容器?

這是特定於實現的,但是考慮到嵌入式EJB容器的存在,我懷疑大多數實現都會提供完整的EJB容器或子集。

3.

(也我們需要一個網絡配置文件標籤?)