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.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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/359476.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Oracle11.2.0.4 RAC安装文档

1 环境配置 参考官方文档《Grid Infrastructure Installation Guide for Linux》 1.1 软件环境 操作系统&#xff1a; [roothowe1 ~]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 6.2 (Santiago) [roothowe1 ~]# uname -a Linux howe1 2.6.32-220.el6.i…

威海二职工业机器人专业_现在各大专开设的工业机器人专业前景如何?

我就是某专科学校工业机器人技术专业人的学生&#xff0c;专业是现在专业几个负责人15年向教育局申请申办的&#xff0c;16年正式招生&#xff0c;我也有幸作为第一届学生来到了该学校。先说教学吧&#xff0c;因为是第一届所以很多设备、设施都不完善&#xff0c;我觉得最重要…

协同遗漏的效果–使用简单的NIO客户端/服务器测量回送延迟

在这篇文章中&#xff0c;我演示了许多想法和技术&#xff1a; 如何编写一个简单的非阻塞NIO客户端/服务器 协调遗漏的影响 如何测量百分位数的延迟&#xff08;相对于简单平均&#xff09; 如何在计算机上计时延迟回送 我最近正在为客户端服务器应用程序开发低延迟基准测…

python 画蜘蛛_如何学习 R 绘图?

写在前面&#xff1a;为啥不用excel绘制这些图&#xff0c;用PoweBI&#xff0c;帆软BI等可视化软件来绘图&#xff0c;不是更方便吗&#xff1f;的确&#xff0c;这些工具都很方便&#xff0c;但同时&#xff0c;它们显得很呆&#xff0c;不够灵活&#xff0c;更为致命的是&am…

conflicting types for ‘方法名’ 的错误

将main()的实现写在drawShapes(),drawCircle(),drawRectangle()...之前. 结果编译的时候出现了 conflicting types for "方法名"的错误。故到网上查找答案&#xff0c;发现在这里需要严格按照函数出现的先后顺序才能成功编译&#xff0c;也就是main()要定义在最后&a…

Oracle用户system解锁

1.首先进入sql plus窗口&#xff08;参见上一篇文章&#xff09; 2.进入后&#xff1a;输入select username,account_status from dba_users where usernameSYSTEM; 3.查询system用户的状态和用户名&#xff0c;这里能查询出密码&#xff0c;但是查出来的密码是密文&#xff0c…

captcha库_将CAPTCHA添加到您的GWT应用程序

captcha库什么是验证码&#xff1f; 在一个充满恶意机器人的世界中&#xff0c;您应该怎么做才能保护您宝贵的Web应用程序&#xff1f; 您真正应该做的基本事情之一就是向其中添加CAPTCHA功能。 如果您不熟悉&#xff08;听起来有些奇怪&#xff09;&#xff0c;则CAPTCHA是确保…

GCD6: 在GCD上异步执行非UI相关任务

讨论&#xff1a;在主队列、串行队列和并发队列上异步执行代码块才能见识到 GCD 的真正实力。 要在分派队列上执行异步任务,你必须使用下面这些函数中的其中一个: dispatch_async为了异步执行向分派队列提交一个 Block Object(2 项都通过参数指定) dispatch_async_f为了异步执行…

带有Java 8,lambda表达式和Mockito-Java8附加组件的更紧凑的Mockito

Mockito-Java8是一组Mockito附加组件&#xff0c;它们利用Java 8和lambda表达式使Mockito的模拟更加紧凑。 在2015年初&#xff0c;我进行了简短的演讲&#xff0c; Java 8为测试带来了力量&#xff01; 我在GeeCON TDD 2015和DevConf.cz 2015上发表了演讲。在我使用4个示例的演…

ContentProvider与ContentResolver使用

例如以下内容为从网络转载&#xff1a;使用ContentProvider共享数据&#xff1a;当应用继承ContentProvider类&#xff0c;并重写该类用于提供数据和存储数据的方法&#xff0c;就能够向其它应用共享其数据。虽然使用其它方法也能够对外共享数据&#xff0c;但数据訪问方式会因…

cshtml中引用css_ASP.NET CoreMVC 中的控制器

Controller in ASP.NET Core MVC在本节中&#xff0c;我们将讨论 Controller 是什么以及它在 ASP.NET Core MVC 中的作用。Fiddler需要大家提前装一个工具&#xff0c;https://www.telerik.com/fiddlerFiddler 是一个 http 协议调试代理工具&#xff0c;它能够记录并检查所有你…

小学阅读方法六种_小学生掌握了这些语文答题方法,轻松应对阅读理解,不再是难事...

家长们都知道&#xff0c;孩子们在学习数学的时候&#xff0c;重要的就是数学的一些公式&#xff0c;只要把数学公式记牢&#xff0c;做很多题的时候灵活运用&#xff0c;就可以解答。今天我们来看看&#xff0c;语文方面也有一些答题公式&#xff0c;当孩子们完全掌握了这些公…

hdu--4028--dp

这个dp我没做出来啊...其实不难..主要题意没理解好 fuck. 给你1-N这N个数 一共2^N-1个子集 每个子集的LCM值>M的情况数有多少种 我也是醉了 这么个题目 给我套他那个题面 硬是没看懂 他在问什么 还是 英语太渣了 然后就是个 状态转移方程的考虑了 map<LL,LL>dp[size]…

敏捷中gwt含义_在您的GWT应用程序中添加JSON功能

敏捷中gwt含义JSON简介 在Web应用程序上工作时&#xff0c;总是会出现客户端-服务器数据交换的问题。 在此问题上有多种方法&#xff0c;其中许多使用XML进行交换。 执行此任务的一种不太知名的格式是JSON。 JSON&#xff08;JavaScript对象表示法&#xff09;是一种轻量级的数…

c++ 经典代码_C语言经典100题(31)

1上期答案揭晓首先给大家看看上一篇文章C语言经典100题(30)中第三部分编程题的答案&#xff1a;#include int main( ){ long ge,shi,qian,wan,x; printf("请输入 5 位数字&#xff1a;"); scanf("%ld",&x); wanx/10000; /*分解出万…

$ 与 # 区别

# 会根据不同类型而生产字符串&#xff0c;如 String 类型 : aa ---> aa,长整型Long:123 ---> 123$ 表示原生类型&#xff0c;如 String 类型 : aa ---> aa,长整型Long:123 ---> 123转载于:https://www.cnblogs.com/svennee/p/4078824.html

JAX-RS 2.x与Spring MVC:返回对象列表的XML表示

JSON是所有REST * API的王者&#xff0c;但是您仍然可能需要公开多种表示形式&#xff0c;包括XML。 使用JAX-RS和Spring MVC都非常简单。 实际上&#xff0c;唯一要做的就是用JAXB注释对从API调用返回的POJO进行注释。 但是&#xff0c;我认为序列化对象列表时&#xff0c;JA…

android读取excel文件_python里读写excel等数据文件的几种常用方式

python处理数据文件第一步是要读取数据&#xff0c;文件类型主要包括文本文件(csv、txt等)、excel文件、数据库文件、api等。下面整理下python有哪些方式可以读取数据文件。1. python内置方法(read、readline、readlines)read() &#xff1a; 一次性读取整个文件内容。推荐使用…

UGUI学习笔记之渲染顺序

转载请注明地址&#xff1a;http://www.cnblogs.com/Vincentblogs/p/4083028.html QQ群&#xff1a;346738352 Unity技术交流群&#xff0c;讲纯粹的技术。 数据记录为Unity4.6b21版本 图片解释&#xff1a;这是一个按钮UI,层级1显示的是按钮背景&#xff0c;层级2显示的Image…

exp导出excel oracle_如何从Oracle快速导出数据到Excel

【摘要】在生产系统使用过程中&#xff0c;常常会有从数据库中导出数据的需求。支持多种导出方式&#xff0c;例如使用spool、utl_file等内置方法导出&#xff0c;利用plsql developer、等第三方工具等。【正文】Oracle支持多种导出方式&#xff0c;包括自带的工具包和第三方工…