快速业务通道

在J2EE 1.3中消除服务定位器实现中的缓存 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
冲突(参见 参考资料中的 J2EE 1.2 和 1.3 规范)。

这意味着两个组件可以指向相同的资源名,而在实际运作当中却被绑定去访问两个不 同的容器资源。可以认为这是 重载资源名。在两个不同的组件中相同的资源名实际上是 映射到两个不同的容器资源。因此,要了解重载名是引用哪个资源,两组件中的一个也必 须了解使用重载名的那个组件,并且知道那个组件是如何被映射到容器名的。

在J2EE 1.3中消除服务定位器实现中的缓存(3)

时间:2011-04-02 IBM Bobby Woolf

重载名举例

例如,应用程序可以包含两个会话 bean:

EmployeeBean:允许用户(公司雇员)访问多个客户的账户及其他有关账户的机密信 息。

CustomerBean: 允许用户(客户)访问他们个人账户。

简单的说,两个 bean 都可以使用资源名 jdbc/AccountDB,这是因为他们都使用客户 账户数据库。管理员为访问数据库会定义一个数据源,称为 jdbc/AccountDS,然后在部 署时期将两个组件中的 jdbc/AccountDB 绑定到 jdbc/AccountDS。

表 3

EJB 名 应用程序资源名 容器资源名
EmployeeBean jdbc/AccountDB jdbc/AccountDS
CustomerBean jdbc/AccountDB jdbc/AccountDS

此时,资源名 jdbc/AccountDB 还没有重载,因为它总是映射到相同的容器资源。资 源名是共享的,因为它被多个组件所使用,但是它没有被重载。

现在,让我们讨论一下已经需要我们来考虑的管理问题。客户可以访问并甚至能改变 在账户数据库中的机密数据,而这些数据应当只能由公司的雇员来更改。业务需求指出, 特定的数据库表应当只能由雇员来操作而不是被顾客操作。为了实施这一点,数据库管理 员创建两个分离的登录,一个是雇员使用的,一个是顾客使用的。顾客登录不能访问存储 机密数据的表,而只有对特定表的只读权限;雇员登录拥有全部的访问权限。通过这种方 式,即使 Java 应用程序有错误发生,允许顾客访问这些表,数据库也会阻止顾客的这种 访问。

为支持这个新的需求,使用这些新的数据库登录,部署者在容器中配置两个分离的数 据源,分别对应两个登录。这两个数据源分别称作: jdbc/AccountEmployeeDS 和 jdbc/AccountCustomerDS。在部署时期,部署者分别对应的绑定资源名:

表 4

EJB 名 应用程序资源名 容器资源名
EmployeeBean jdbc/AccountDB jdbc/AccountEmployeeDS
CustomerBean jdbc/AccountDB jdbc/AccountCustomerDS

应用程序资源名 jdbc/AccountDB 现在已经是重载的名称了。它所引用的资源,雇员 访问的数据源或顾客访问的数据源,要使用哪个数据源取决于是哪个组件在使用资源名。

以这种方式,部署者可以改变应用程序的选项来满足新的需求而不用改变代码,他只 需改变容器配置及改变现有代码的部署。

同样地,这种重载资源映射可以用来使不同组件使用几个不同类型的资源:

不同的数据库,可能包含各自的一套数据,可能在不同的提供商处运行为产品。

不同的 JMS 消息系统,对业务模式来说可能是一个内部的也可能是一个外部的,可能 在不同的提供商处运行为产品。

相同 Web 服务的多次部署,可能提供不同质量的服务。

重载是 J2EE 1.3 应用程序资源名的一种能力,因为他们是组件范围的。J2EE 1.2 的 全局应用程序资源名是没有这种能力的。

在J2EE 1.3中消除服务定位器实现中的缓存(4)

时间:2011-04-0

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号