`

JNDI及其在开发中的应用

阅读更多
JNDI:(Java Naming and Directory Interface,Java命名和目录接口)是Java API,借助于它提供的接口,开发者能够通过名字定位用户、机器、网络、对象、服务。
在学习JNDI前,很有必要学习下“命名和目录服务”:
名字类似于引用,即能够标识某实体、人等。命名服务类似于话务员,能帮你找到你想要通话对象的电话号码。命名服务能够完成如下几方面任务的实体:
1. 名字和对象绑定在一起
2. 能够提供依据名字查找对象的机制
在企业计算领域,命名服务随处可见,比如DNS能够将机器名转换成IP地址等。
在当今世界,有很多不同的命名和目录产品,他们基于各自的命名和目录标准,为了使这些产品之间能够相互交互,我们引出了JNDI。
在JAVA 开发中,JNDI的应用
一、定位各种资源工厂,比如定位数据源等
比如,我们在用到Spring的项目中,ApplicationContext.xml中定位数据源可以这么做:

引用

<bean id="DataSource"
  class="org.springframework.jndi.JndiObjectFactoryBean">
  <property name="jndiName">
   <value>java:comp/env/jdbc/dbname</value>
  </property>
</bean>

当然了,你的jndiname需要在服务启动的时候加载到容器中:
比如容器如果是tomcat的话,我们把类似于如下的一个配置文件放到conf下:
引用

<?xml version="1.0" encoding="UTF-8"?>
<Context>
<!-- 开发环境  -->
<Resource name="jdbc/dbname" auth="Container" type="javax.sql.DataSource"
               maxActive="100" maxIdle="30" maxWait="10000"
               username="awpdr" password="awpdr" driverClassName="oracle.jdbc.driver.OracleDriver"
               url="jdbc:oracle:thin:@12.1.10.120:1521:dbname"/>

<Resource name="jdbc/dware" auth="Container" type="javax.sql.DataSource"
               maxActive="100" maxIdle="30" maxWait="10000"
               username="dwawpuser" password="dwawpuser" driverClassName="com.teradata.jdbc.TeraDriver"
url="jdbc:teradata://10.1.1.82/client_charset=cp936,COMPAT_DBS=TRUE,COMPAT_GETTABLE=TABLE,database=DWMART_AWP"/>


</Context>

相应的,也要在web.xml 中加入如下配置代码:
引用

<!-- DB POOL -->
<resource-ref>
  <res-ref-name>jdbc/dbname</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
  <res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>

<resource-ref>
  <res-ref-name>jdbc/dware</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
  <res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>

总之,在项目中利用JNDI来定位数据源是种常见的用法。
二、客户和EJB组件能够借助与JNDI查找其他EJB组建
比如,我们在用EJB开发时(weblogic作为server),需要在相应的xml中有类似这样的配置:
引用

<weblogic-enterprise-bean>
<ejb-name>DcrsConsumerRecoveryAssignmentEJB</ejb-name>
<reference-descriptor>
<ejb-reference-description>
<ejb-ref-name>ejb/hxb/dcrs/QueryEJB</ejb-ref-name>
<jndi-name>ejb/hxb/dcrs/QueryEJB</jndi-name>
</ejb-reference-description>
<ejb-reference-description>
<ejb-ref-name>ejb/hxb/dcrs/GenericEJB</ejb-ref-name>
<jndi-name>ejb/hxb/dcrs/GenericEJB</jndi-name>
</ejb-reference-description>
<ejb-reference-description>
<ejb-ref-name>ejb/WFExecutionEngine</ejb-ref-name>
<jndi-name>
ejb/solution/dbps/WFExecutionEngine
</jndi-name>
</ejb-reference-description>
<ejb-reference-description>
<ejb-ref-name>ejb/WFMonitoringManager</ejb-ref-name>
<jndi-name>
ejb/solution/dbps/WFMonitoringManager
</jndi-name>
</ejb-reference-description>
</reference-descriptor>
<jndi-name>
ejb/hxb/batch/ConsumerRecoveryAssignmentEJB
</jndi-name>

</weblogic-enterprise-bean>


分享到:
评论

相关推荐

    EJB的开发及应用,Session Bean的开发

    简要介绍JNDI,EJB及其开发应用技术,附有Session Bean的开发实例

    EJB应用开发详解+书中源码

    全书以剖析EJB 2.0的技术核心以及开发与部署的过程为中心,共分3大部分20章,包括无状态会话Bean、有状态会话Bean、CMP实体Bean、EJB QL语言、集成RMI-IIOP与JNDI、应用客户端开发、EJB部署、持久化EJB与CORBA的集成...

    六大类系统架构图及其简介.doc

    在这篇文章中,我们将讨论六大类系统架构图及其简介。这些架构图都是业界公认的架构模式,广泛应用于软件开发和系统设计中。 1. Spring 架构图 Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的...

    JDBC 3.0数据库开发与设计

    2.2.4 PL/SQL和Java的实际开发应用实例 2.2.5 Java连接各类数据库的程序代码 2.3 Web应用服务器 2.3.1 Tomcat的安装及系统文件设置 2.3.2 WebSphere简介 2.3.3 WebLogic的安装和配置 2.3.4 Resin的安装与配置 ...

    《软件系统架构与开发环境》第三章源代码-by 南邮-陈杨

    3.3.1 数据库应用系统及其C-S架构 167 3.3.2 数据库系统 168 3.3.3 JDBC客户端架构 171 3.3.4 ODBC客户端架构 174 3.4 LDAP协议与JNDI 176 3.4.1 名字服务与目录服务 176 3.4.2 LDAP协议及其模型 178 3.4.3 ...

    JSP高级编程          

    第三部分 JDBC 新技术及其在JSP/Servlet 中的应用 第9 章 JDBC 2.0/3.0 API 的新特性 9.1 JDBC API 2.0 的新特性 9.2 JDBC API 2.0 简介 9.3 JDBC API 3.0 简介 目录 9.4 附录JDBC 数据类型和Java 数据类型的映射...

    JSP高级编程(全)

    第三部分 JDBC 新技术及其在JSP/Servlet 中的应用 第9 章 JDBC 2.0/3.0 API 的新特性 9.1 JDBC API 2.0 的新特性 9.2 JDBC API 2.0 简介 9.3 JDBC API 3.0 简介 9.4 附录JDBC 数据类型和Java 数据类型的映射关系 9.5...

    各种系统架构图及其简介.pdf

    各种系统架构图及其简介 本文档对 Spring 架构图和 iBATIS 架构图进行了介绍,详细描述了每种架构图的特点、优势和使用场景。 Spring 架构图 Spring 框架是一个开源框架,旨在解决企业应用程序开发的复杂性。其...

    六大类系统架构图及其简介分享.pdf

    系统架构图是指在软件设计和开发过程中,对系统的总体结构和组件之间的关系进行描述和设计的图表。了解不同的系统架构图是非常重要的,因为它们可以帮助开发者更好地理解系统的设计理念和实现方法。 1. Spring 框架...

    JSP訳文--工具--Java

    UltraEdit 7.2 WebGain Studio 4 with VisualCafe Forte for Java开发指南 Dreamweaver UltraDev IBM NetObjects ScriptBuilder3.0 使用HomeSite加速JSP的开发 Java2的安全新特性下的Applet...

    weblogic 服务器管理(中文版)

    第18章,“管理JNDI”讨论了如何使用WebLogic JNDI名字树,包括查看和编辑JNDI命名树上的对象以及如何把对象绑定到JNDI树。 第19章,“管理WebLogic J2EE连接器架构”描述了提供对其它企业信息系统连接的WebLogic ...

    JSP高级编程

    本书从最基础的JSP开发开始,循序渐进地介绍了JSP 开发技术,并涵盖了许多高级主题,如需要在企业级Web应用中使用的特性—Enterprise JavaBeans、JDBC 2.0、数据库连接池和自定义标签库。本书既适合初学者阅读,也...

    jsp servlet 入门学习资料-新手一看就懂

    3.4.5 在Tomcat中建立新的Web应用程序 第4章 JSP的语法和语义 4.1 通用的语法规则 4.1.1 元素的语法规则 4.1.2 JSP中的相对路径 4.2 注释 4.3 指令 4.3.1 page指令 4.3.2 include指令 4.3.3 taglib指令 ...

    JSP高级教程

    3.4.5 在Tomcat中建立新的Web应用程序 第4章 JSP的语法和语义 4.1 通用的语法规则 4.1.1 元素的语法规则 4.1.2 JSP中的相对路径 4.2 注释 4.3 指令 4.3.1 page指令 4.3.2 include指令 4.3.3 taglib指令 ...

    jsp从入门到高级编程

    3.4.5 在Tomcat中建立新的Web应用程序 第4章 JSP的语法和语义 4.1 通用的语法规则 4.1.1 元素的语法规则 4.1.2 JSP中的相对路径 4.2 注释 4.3 指令 4.3.1 page指令 4.3.2 include指令 4.3.3 taglib指令 ...

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

    在web 2.0应用中,博客(Blog)是web 2.0核心应用中最典型、最流行的代表之一,也是web 2.0技术应用的最直观的表现,是web 2.0精神和理念的具体体现。 1.2. 问题的提出 Blog记载了日常发生的事情和自己的兴趣爱好,把...

    从Java走向Java+EE+.rar

    第4章 在Java EE中使用XML 26 4.1 什么是XML 26 4.1.1 理解XML 26 4.1.2 XML的语法 27 4.1.3 XML命名空间 31 4.2 XML能用来干什么 32 4.3 用DTD验证XML文档 33 4.4 用Schema验证XML文档 35 4.4.1 ...

    JSP 程序设计从入门到精通 PDF 教程

    由浅入深、循序渐进地介绍了JSP的运行系统,基本概念,语法规范及其相关内容,从基本的JSP概述、与其他技术的对比,到JSP的运行系统和模式,逐步深入地对JSP语法规范进行了详细的讲解,并结合应用实例加以巩固。...

    JAVAEEWEB高级编程期末考试复习资料.pdf

    JDBC 的目标是使应用程序开发人员使用 JDBC 可以连接任何提供了 JDBC 驱动程序的数据库系统。 5. 企业级应用程序为什么选择三层体系结构 企业级应用程序选择三层体系结构是因为三层体系结构具有安全性高、易于维护...

Global site tag (gtag.js) - Google Analytics