[转]tomcat和jboss和weblogic的jndi

tomcat与jboss的jndi环境字符串

jboss:    java:/defaultDs

tomcat:  java:comp/env/defaultDs


DataSource ds=null;
Context itx=new InitialContext();
Context envctx=(Context)itx.lookup(“java:comp/env“);
ds=(DataSource)envctx.lookup(”jdbc/myDb”);

Connection con=ds.getConnection();
if(con !=null)......

JNDI: 是将名称与对象匹配的服务,一个naming service一个服务器,将对象添加到目录树上。

JNDI CONTEXT:一个Context是一个将名称与对象绑定好的对象。

.Context可以是嵌套的(构成一个目录结构)
.顶级的Context对象是一个InitialContext
.Context可以被“列出“来查看其中的内容


Binding:
Context接口定义下列方法:
.void bind(String name,object obj)
.object lookup(string name)

一个容器当Bean启动后,自动将Bean的名称绑定到它的home对象上。

JNDI主要强调在网络中定位对象

一个context包含0个或多个绑定
************************************************************************************
JNDI定义:
        java命名和目录接口(JNDI)是一个为java应用程序提供命名服务的应用程序编程接口(API),JNDI是SUN微系统的J2EE技术中的一个完整的组件,它支持通过一个单一的方法访问不同的新的和已经存在的服务的方法。这种支持允许任何服务提供商执行通过标准服务商接口(SPI)协定插入JNDI框架

*************************************************************************************
weblogic JNDI
对于JNDI的标准java接口,weblogic提供了它的实现:
weblogic.jndi.WLInitialContextFactory
你不需要直接实例化该类,你只需要使用标准的
javax.naming.InitialContext类,并且设置适当的哈西表属性,象在为初始化上下文设置JNDI的环境属性

可以使用哈西表也可使用set()方法设置这些属性,这些名称和值一一对应的属性决定了WLInitialContextFactory如何创建上下文:
.Context.SECURITY_PRINCIPAL默认为客人用户
.Context.PROVIDER_URL默认为:t3://localhost:7001

Context ctx=null;
HashTable ht=new HashTable();
ht.put(Context.Initial_CONTEXT_FACTORY,“weblogic.jndi.WLInitialContextFactory“)
ht.put(Context.PROVIDE_URL,“t3://localhost:7001“);
try{
  ctx=new InitialContext(ht);
}
catch{
}
finally{
    try{
ctx.close();
}
catch{
}
}


你可能感兴趣的:(java,tomcat,应用服务器,weblogic,jboss)