分享

搭建JNDI应用环境并试验JDNI

 昵称5555931 2011-01-21

一、试验环境: 
 Windows XP 
Eclipse
JDK1.6.0_23-rc2 

二、所需软件 
1、fscontext-1_2-beta3.zip:fscontext.jar,providerutil.jar 
2、jdk版本低于Java 2 SDK, v1.3的,需要JNDI software 
下载地址:https://cds./is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/ViewProductDetail-Start?ProductRef=7110-jndi-1.2.1-oth-JPR@CDS-CDS_Developer 
3、jdk1.3以上包含 了jndi公共接口
三、试验内容 
创建一个JDNI文件系统的Context;并在此Context种试验JNDI的各种方法。 

四、试验步骤 
(一)、搭建JNDI应用环境 
1、创建一个工程,引入fscontext.jar,providerutil.jar

2、jdk版本低于Java 2 SDK, v1.3的,需映入JNDI 相关的jar文件

(二)、创建一个Java文件,编码:

Java代码 
import java.util.Hashtable;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NameClassPair;
import javax.naming.NamingEnumeration;
import javax.naming.NamingException;
/**
 * @author Administrator
 * 
 */
public class JndiTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,
"com.sun.jndi.fscontext.RefFSContextFactory");
// manually create the ROOT DIR
env.put(Context.PROVIDER_URL, "file:/D://");
try {
Context ctx = new InitialContext(env);
ctx.createSubcontext("sylilzy");
NamingEnumeration list = ctx.list("/");
while (list.hasMore()) {
NameClassPair nc = (NameClassPair) list.next();
System.out.println(nc);
}
} catch (NamingException e) {
e.printStackTrace();
}
}
}

 
(三)、Run As-> Java Application 
结果如下:

apache-tomcat-6.0.30: javax.naming.Context

jndi.jar: java.io.File

JndiTest1.class: java.io.File

JndiTest1.java: java.io.File

My Documents: javax.naming.Context

PPDownload: javax.naming.Context

RECYCLER: javax.naming.Context

Resolve.class: java.io.File

Resolve.java: java.io.File

sylilzy: javax.naming.Context

System Volume Information: javax.naming.Context

迅雷下载: javax.naming.Context


 

五、说明 
1、在JNDI应用之前需要做的两个准备工作:JNDI software(jdk版本低于Java 2 SDK, v1.3时)、JNDI Server Provider software 
2、步骤1中引入的两个jar包将作为JNDI Server Provider,类似的在MQ应用中,执行JMSAdmin相关命令也是创建一个JNDI Server Provider,详见《使用【WebSphere MQ JMS administration tool】工具创建JNDI命名空间》http://blog.csdn.net/huyangleng123。 
3、参考文档:jndi-1_4_2-tutorial 
https://cds./is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/ViewProductDetail-Start?ProductRef=7110-jndi-1.2.1-oth-JPR@CDS-CDS_Developer

 

六、About JNDI(此为个人理解,不对之处还望指正) 
JNDI —— java naming and directory interface,是一组API.使用这组API可以创建和管理命名空间和相关的名字资源。 
Naming Space —— 所谓的命名空间物理上可以理解为:一个映射了名字和对应对象(资源)内容的定义文件,此文件以.bindings为名;需要使用context对象对命名空间的各个命名进行操作。 
Context —— 即所谓的上下文环境,由JNDI Server Provider创建和维护。 
JNDI Server Provider —— JNDI服务提供方。也是一组API,他负责来对应的Context。  例如此试验用到的fscontext, 是一个文件系统JNDI Server Provider,它提供的com.sun.jndi.fscontext.RefFSContextFactory可用于创建JNDI的Context。

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多