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.xmlweb.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访问相关推荐

  1. ejb 2.0 3.0_EJB 3.0注入和查找简介

    ejb 2.0 3.0 介绍 Enterprise JavaBeans Specification v.3.0引入了简化的,基于注释的API,用于EJB注入和查找. EJB 3.0现在是POJO,可以 ...

  2. EJB 3.1全局JNDI访问

    如本系列前面的部分所述,EJB 3.0版规范的主要缺点是缺少可移植的全局JNDI名称. 这意味着没有可移植的方式将EJB引用链接到应用程序外部的Bean. EJB v.3.1规范用自己的话填补了这一定 ...

  3. EJB 3.0注入和查找简介

    介绍 Enterprise JavaBeans Specification v.3.0引入了简化的,基于注释的API,用于EJB注入和查找. EJB 3.0现在是POJO,可以使用简单的注释将其注入其 ...

  4. EJB 3.0中会话Bean,实体Bean,消息驱动Bean的作用和例子

    关键词:EJB 3.0,会话Bean,实体Bean,消息驱动Bean EJB 3.0规范使开发EJB比过去更容易,可能诱惑你考虑开发第一个EJB.如果真是这种情况,那么祝贺你,你已经成功避免了在你以前 ...

  5. 为什么我喜欢EJB 3.0并且尤其喜欢EJB 3.1

    http://developer.51cto.com/art/200906/127156.htm Marc Fleury在2002年写了一篇值得一读的文章 蓝皮书 "为什么我爱EJB&quo ...

  6. linux ejb远程调用,[转载]在容器外使用EJB 3.0 Persistence

    在容器外使用EJB 3.0 Persistence Lucas Jellema 最近写了篇文章,名字叫:Getting Started with EJB 3.0 Persistence out-of- ...

  7. 1.0jpa 2.0_JPA 2.1如何成为新的EJB 2.0

    1.0jpa 2.0 美丽在于情人眼中. "轻松"也是如此: 了解有关SQL结果集映射的更多信息,并轻松处理本机查询结果: http : //t.co/WH4BTlClIP #JP ...

  8. ejb 2.0 3.0_定义EJB 3.1视图(本地,远程,无接口)

    ejb 2.0 3.0 这篇文章将讨论使用批注定义EJB视图的可能方法(最后我将只提到使用EJB部署描述符).我将重点介绍最新的EJB 3.1视图,这些视图将省略旧的本地,远程和本地接口. 因此,我们 ...

  9. ejb 2.0 3.0_Java EE 6测试第I部分– EJB 3.1可嵌入API

    ejb 2.0 3.0 我们从Enterprise JavaBeans开发人员那里听到的最常见的请求之一就是需要改进的单元/集成测试支持. EJB 3.1规范引入了EJB 3.1可嵌入API,用于在J ...

最新文章

  1. linux启动x不启动桌面,redhat开机不启动桌面登录程序
  2. readelf小尝试
  3. MS SQL Server存储过程
  4. python手机端下载-Python3,x:如何进行手机APP的数据爬取
  5. Linux系统挂载NTFS文件系统
  6. java和python哪个学习编程_初学编程,选Java还是Python?
  7. javascript 打开新窗口
  8. 基本农田卫星地图查询_如何基于西安80坐标查询定位
  9. 四、内存空间的编辑和ASSIC码
  10. terminal看服务器性能,终端服务服务器性能评估优化问题
  11. 小米温控配置不见了_小米11值得买吗?目前看来功耗很高啊?
  12. ubuntu20.04 下查看(改变)本地端口开放情况,开启和关闭防火墙
  13. 计算机硬盘必内存的容量大,电脑基础知识:内存条的作用
  14. 反插值法求函数方程的根(内附代码及例题)
  15. 单反相机坏点和噪点测试软件,正确对待相机的坏点和噪点
  16. 做精明财女必上的3堂课 结婚才是最大的投资
  17. 新手如何学习网络安全?
  18. C# 脚本化实现方式探究
  19. i3cpu驱动xp_Intel英特尔 Core i3/Core i5/Core i7系列CPU显示驱动 14.46.9.5394版 For WinXP-32...
  20. Struts2通配符映射/Struts action name=/*/* method={2} class=com.jxc.action.{1}Action result

热门文章

  1. Java中的TreeSet集合会自动将元素升序排序
  2. mysql---批量插入数据:100w条数据
  3. 收敛和发散思维如何被用作解决问题的手段
  4. 机器学习java_Java机器学习,第1部分
  5. 度量空间的应用_使用Dropwizard度量标准监视和测量无功应用
  6. 在Java中键入Safe SQL
  7. jpa 返回数据转换_如何使用JPA类型转换器加密数据
  8. ElasticSearch-Hadoop:从Hadoop到ElasticSearch索引产品视图计数和客户顶部搜索查询
  9. 带有JUnit 5支持的Ant 1.10.3发布
  10. Java代码样式运算符换行格式