利用
JNDI
定位资源
JNDI
提供了一套标准的接口来定位资源
(
用户、网络、机器、对象和服务等
)
,比如可以利用
JNDI
在局域网上定位一台打印机,也可以用
JNDI
来定位数据库服务或一个远程
Java
对象。
JNDI
在
Java EE
中使用十分广泛;包括
EJB
、
RMI-IIOP
、
JDBC
和
JMS
等。这些技术都需要命名和目录服务的支持。
命名和给人取名字道理是一样的,名字是一个指向实际客体的引用,名字方便了我们指称物体,比如给一个打印机取名为“
PrinterA
”,就不需要描述它为“五楼转角右边数过来的第二个打印机”。给一个资源命名的过程叫做名字的绑定。命名绑定之后,一系列的资源就有一系列的名字,名字属于命名空间,比如所有的本市的电话号码都在号码薄上,我们就可以在这个空间里寻找所要的资源。
给所有的资源命名之后,我们可以想象成所有人的电话号码都输入了号码薄,接下来利用这个号码薄就可以查找具体某人的联系方式。通过号码薄查找的服务就是目录服务。所以,总体来说,
JNDI
提供了以下两种功能:
将名字绑定到资源上。
通过名字查找资源。
JDNI
由两部分组成:客户端
API
和服务提供接口
SPI(Service Provider Interface).
客户端
API
为开发者提供了操作命名和目录服务的统一接口,程序员可以利用这些
API
,在各种服务协议之上,对资源进行命名,或在目录中查找资源等。客户端
API
是与服务的协议无关的,而这个协议的具体实现由
SPI
组成。
JDNI SPI
是
JNDI
的实现框架,对各个命名和目录服务协议进行支持。各个目录协议可以通过
SPI
将其插入到
JDNI
中。
JNDI
给一个字资源命名,并通过这个名字查找资源,那么资源的命名有什么规则呢?
JNDI
中的名字可以分成两种:原子名和组合名。组合名是由原子名组成的,比如在
A
下的打印机
Printer1
就被表示成了“
A\Printer
1
”
,其中“
A\Printer
1
”
是组合名,它是由“
A
”和“
Printer
1
”
这两个原子名组成的。通过组合名就可以找到经过绑定之后的资源。
命名服务提供了一种为对象命名的机制,这样就可以无需知道对象位置的情况下获取和使用对象。只要给对象在命名服务器上注册过,且命名服务器的地址和该对象在命名服务器上注册的
JNDI
名已知。就可以找到该对象,获得其引用,从而运用它提供的服务。
利用
JNDI
可以寻找命名服务器上注册过的所有对象。
JNDI
架构提供了一个标准的、与命名系统无关的
API
,这个
API
构建在特定于命名系统的驱动程序之上。这一层帮助把应用程序和实际的数据源隔离开来,因此无论应用程序是访问任何目录服务,这都没有关系。换句话说,
JNDI
与任何特定的目录服务实现无关,可以使用任何目录,只要拥有相应的服务提供程序接口。
JNDI
可以运用在很多
JAVA
EE技术上,比如在
JDBC
、
EJB
。
下面一节讲述了一个分布式的
HelloWorld
的例子
分享到:
相关推荐
三种方式实现java远程调用(rmi) 方式一:原始方式 方式二:spring 方式三:jndi 解压,放到myeclipse上可用
第17章 JNDI和Java RMI远程调用 249 17.1 用Java RMI实现远程调用 250 17.2 利用JNDI定位资源 256 17.3 实例——分布式的HelloWorld 260 17.4 小结 264 第18章 Java消息服务 265 18.1 消息系统和JMS 265...
注:JDK1.3版本或更低的版本支持java.rmi.Naming,JDK1.3以后将命名服务API整合到JNDI中,javax.naming.Context声明了注册、查找,以及注销对象的方法。 三、实验要求 (1) 对关键代码解释清楚; (2) 远程对象...
RMI-IIOP (称为“ IIOP上的RMI”)表示Internet球间协议(IIOP)上的Java远程方法调用(RMI)接口,该接口向Java平台提供了通用对象请求代理体系结构(CORBA)分布式计算功能。 更多信息 : 建造 编译项目文件 转...
一个Java对象的方法能被远程Java虚拟机调用。这样,远程方法激活可以发生在对等的两端,也可以发生在客户端和服务器之间,只要双方的应用程序都是用Java写的。 4、Java IDL(Java Interface Definition Language) ...
老师给的面试题 解释下面关于J2EE的名词 (1)JNDI:Java Naming & Directory Interface,JAVA命名目录服务.主要提供的功能是:提供一个目录系统,让其它各地的应用程序在...(5)RMI:Remote Method Interface,远程方法调用
第二部分详细讲解了jsf ri、jta、jndi、rmi、jms、javamail、ejb 3的session bean、message driven bean、jpa、jax-ws 2、jaas等java ee知识,这部分知识以jsf+ejb 3+jpa整合开发为重点,通过使用netbeans ide工具...
•RMI/ IIOP(远程过程调用/因特网ORB间协议):友情链接本地Java的RPC机制,CORBA,并允许非Java系统访问EJB。 •XML技术(JAXP,SAAJ,JAX-RPC等):一个完整的技术套件操纵XML和构建基于标准的XML Web服务。 •...
它是基于Java的远程方法调用(RMI)技术的,所以EJB可以被远程访问(跨进程、跨计算机)。但EJB必须被布署在诸如Webspere、WebLogic这样的容器中,EJB客户从不直接访问真正的EJB组件,而是通过其容器访问。EJB容器是...
BlazeDS 为 Flex 提供了基于 AMF 二进制协议的远程调用支持,其作用相当于 Java 的 RMI。有了 BlazeDS,通过简单的配置,一个 Java 接口就可以作为服务暴露给 Flex,供其远程调用。 尽管现有的 EmployeeMgmt 应用...
它是基于Java的远程方法调用(RMI)技术的,所以EJB可以被远程访问(跨进程、跨计算机)。但EJB必须被布署在诸如Webspere、WebLogic这样的容器中,EJB客户从不直接访问真正的EJB组件,而是通过其容器访问。EJB容器是...
BlazeDS 为 Flex 提供了基于 AMF 二进制协议的远程调用支持,其作用相当于 Java 的 RMI。有了 BlazeDS,通过简单的配置,一个 Java 接口就可以作为服务暴露给 Flex,供其远程调用。 尽管现有的 EmployeeMgmt 应用...
第2章 Java的二维和三维图形处理 45 实例19 颜色处理 46 实例20 合成效果 47 实例21 多种字体效果 49 实例22 合成两个图片 53 实例23 实现多种线形 58 实例24 混合效果 62 实例25 纹理与色彩处理 63 实例26 实现填充...
B服务器对甲服务器上的“类”进行远程调用和实现而不考虑网络方面的技术(用于大型企业分布式计算)JSF:的JavaWeb前端的一个框架,用于开发界面,某些在网络界面添加表格组件来替代html中的代码RMI :(远程方法...
154 实例53 监控HTTP 155<br>实例54 收发电子邮件 156 实例55 一个简单的代理服务器 164 实例56 扫描网站信息 173 实例57 远程方法调用 174 实例58 调用JINI方法 176 第5章 Java数据库编程 179...
4.2 远程方法调用RMI 技术 4.3 CORBA 技术 4.4 JNDI 技术 4.5 本章小结6 第二部分 JSP 技术和XML 技术 第5 章 XML 简介 5.1 XML 简介及其语法规则 5.2 DTD 的书写及实例 目录 5.3 CSS 与XSL 及其实例 5.4 XHTML 简介...
4.2 远程方法调用RMI 技术 4.3 CORBA 技术 4.4 JNDI 技术 4.5 本章小结6 第二部分 JSP 技术和XML 技术 第5 章 XML 简介 5.1 XML 简介及其语法规则 5.2 DTD 的书写及实例 5.3 CSS 与XSL 及其实例 5.4 XHTML 简介 5.5 ...
1.4.8 RMI(远程方法调用) 1.4.9 JMS(Java消息服务) 1.4.10 JMX(Java分布式管理) 1.4.11 JACC(Java容器授权合同) 1.4.12 JCA(Java连接器体系) 1.5 小结 第二章 MVC模式介绍 2.1 MVC模式概述 2.1.1 MVC模式...
8.3 使用Hessian和Burlap的远程调用 8.3.1 访问Hessian/Burlap服务 8.3.2 用Hessian或Burlap公开Bean的功能 8.4 使用HTTP invoker 8.4.1 通过HTTP访问服务 8.4.2 把Bean作为HTTP服务公开 8.5 Spring和Web...