JNDI接触

Java Naming and Directory Interface,Java命名和目录接口;

百度百科提到:

命名服务将名称和对象联系起来,使得我们可以用名称访问对象。目录服务是一种命名服务,在这种服务里,对象不但有名称,还有属性。

命名服务:

给对象起个名称,并将名称和该对象绑定,然后可以通过名称找到相应的对象;

目录服务:

不只保存对象和对应名称的关联,对象还有各种属性,并且可以对属性进行增删改查;

JNDI会在内存中构件一个树形结构或叫层次结构,保存名称和对象、属性;(个人理解)

JNDI类似Jdbc,有两套接口,一套给厂商使用,另一套给开发者使用;

Tomcat自己提供了连接池,但需要以JNDI的方式访问;

Tomcat作为厂商提供了IntialContext的实现;

java:comp/env -->固定名称,JNDI的命名空间,访问入口;

Tomcat6.X配置自己的连接池,示例:

$Tomcat_home/conf/catalina/localhost/a.xml:

<Context>

<Resource

name="jdbc/news" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="orcl" password="name" driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@localhost:1521:orcl" />

</Context>

jdbc/news:是数据库连接的jndi名称,可通过这个名称获得连接;

Tomcat5.5配置自己的连接池,除了上面的配置还需配置web.xml:

<web-app>

<resource-ref> <description>news DataSource</description> <res-ref-name>jdbc/news</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth></resource-ref>

</web-app>

(参考http://blog.csdn.net/qy1387/article/details/8053962

配置结束后,需要在代码中通过jndi调用:

Context ctx = new InitialContext();

DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/news");

Connection conn = ds.getConnection();

(以上全文,如有不正确,欢迎指正!)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值