ejb 2.0 3.0_EJB 3.1全局JNDI访问
ejb 2.0 3.0
如本系列前面部分所述,EJB 3.0版規范的主要缺點是缺少可移植的全局JNDI名稱。 這意味著沒有可移植的方式將EJB引用鏈接到應用程序外部的Bean。EJB v。3.1規范用自己的話填補了這一定義:
“一個標準化的全局JNDI名稱空間和一系列相關的名稱空間,它們映射到Java EE應用程序的各個范圍。”
此博客文章將為您提供EJB v.3.1規范定義的Global JNDI Access的概述。
命名空間和范圍
EJB v。3.1規范使用其自己的范圍定義了三個不同的名稱空間:
- 全球。
- 應用。
- 模塊。
該規范要求兼容的容器使用所需的JNDI名稱注冊所有會話Bean。 這樣的標準化名稱是可移植的,您的應用程序組件將能夠使用跨應用程序服務器可移植的名稱來建立對EJB的引用。
全球
全局名稱空間中的名稱將可以在任何應用程序中被代碼訪問,并符合以下語法:
java:global [/ <app-name>] / <module-name> / <bean-name> [!<interface-fqn>]
<app-name>是在其標準部署描述符( application.xml )中指定的Java EE應用程序的名稱,或者默認情況下是已部署EAR歸檔文件的基本名稱。 僅當會話EJB部署在Java EE應用程序EAR文件中時,才使用此路徑片段。
如果會話EJB部署在EAR文件中,則其<module-name>是Java EE模塊的路徑名,該Java EE模塊包含EAR文件中的bean(無擴展名)。 如果將會話bean部署為JAR文件中的獨立Java EE組件或WAR文件中的Java EE Web模塊的一部分(Java EE 6規范現在允許),則<module-name>是檔案名稱(不帶擴展名)。 可以通過組件的標準部署描述符( ejb-jar.xml或web.xml )的<module-name>元素覆蓋<module-name>值。
<bean-name>是EJB名稱,由本博文前面部分中描述的機制指定。
<interface-fqn>部分是EJB業務接口的標準名稱。
容器必須為EJB及其無接口視圖實現的每個本地和遠程業務接口注冊一個JNDI全局條目。
具有一個業務接口或無接口視圖的會話EJB
如果EJB僅實現一個業務接口或僅具有無接口視圖,則還需要容器使用以下JNDI名稱注冊這種視圖:
java:global [/ <應用程序名稱>] / <模塊名稱> / <bean名稱>
應用
應用程序名稱空間中的名稱只能由同一應用程序中的代碼訪問,并且符合以下語法:
java:app / <模塊名稱> / <bean-名稱> [!<interface-fqn>]
每個路徑片段保留與上一節中為全局名稱空間JNDI名稱語法描述的相同含義。
上一部分中描述的兼容容器的發布規則相同。
模組
模塊名稱空間中的名稱只能由同一模塊中的代碼訪問,并且符合以下語法:
java:module / <bean-name> l [!<interface-fqn>]
同樣,每個路徑片段都保留了針對全局名稱空間JNDI名稱描述的相同含義。
全局命名空間部分中描述的兼容容器的發布規則相同。
本地客戶
這可能是重要的發現,雖然本地接口(和無界面視圖)公布的全球JNDI名稱,這并不意味著這樣的接口將是在另一個JVM中運行的組件訪問。
結論
EJB v。3.1規范以及Java EE 6平臺中的其他規范帶來了簡單性,并為開發人員的工具箱添加了許多新功能和工具。 “全局JNDI名稱”是一個杰出的功能,盡管很簡單,因為它最終填補了該規范以前的版本以及整個Java EE平臺長期存在的可移植性限制。
EJB 3.0和EJB 3.1提供了功能強大,可移植但簡單的組件模型來構建企業應用程序。 “ EJB糟透了 ”的日子已經過去了,但是只有時間才能證明這項技術是否會重新獲得我們(開發人員)的信任。
就我自己而言,我對Java EE 6,EJB,CDI bean,NetBeans或JDeveloper之類的IDE(盡管后者尚不支持EJB 3.1)提供的良好支持以及所有的規范感到非常滿意。建立這個古老的平臺
參考: The Gray Blog上來自我們的JCG合作伙伴 Gray的 EJB 3.1全局JNDI訪問 。
相關文章 :- EJB 3.0注入和查找簡介
- 基本的EJB參考,注入和查找
- EJB程序化查找
- 使用Oracle WebLogic對應用程序外部的EJB的引用
- GWT EJB3 Maven JBoss 5.1集成教程
- Java泛型快速教程
- JVM如何處理鎖
翻譯自: https://www.javacodegeeks.com/2011/08/ejb-31-global-jndi-access.html
ejb 2.0 3.0
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的ejb 2.0 3.0_EJB 3.1全局JNDI访问的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 从数百万个光纤(而不是数千个线程)中查询
- 下一篇: 圣婴现象是什么意思 圣婴现象的解释