使用JNDI配置数据源

Hibernate使用Tomcat中的jndi数据源。
在tomcat的conf目录下的context.xml文件中添加:
 <Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource"               maxActive="100" maxIdle="30" maxWait="10000"               username="ertm" password="ertm" driverClassName="oracle.jdbc.driver.OracleDriver"               url="jdbc:oracle:thin:@10.2.11.112:1521:itsmdb"/>

[img]C:\Users\liuwang\Desktop\细说意义.jpg[/img]

web.xml文件中添加:
  <resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/TestDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>


在hibernate.cfg.xml配置文件中使用datasource引用jndi数据源。Hibernate在创建sessionFactory实例时会绑定jndi数据源。

  <property name="connection.datasource">java:comp/env/jdbc/TestDB</property> 


JNDI(Java Naming and Directory Interface,Java命名和目录接口)是SUN公司提供的一种标准的Java命名系统接口,JNDI提供统一 JNDI的客户端API,通过不同的访问提供者接口JNDI SPI的实现,由管理者将JNDI API映射为特定的命名服务和目录系统,使得Java应用程序可以和这些命名服务和目录服务之间进行交互。
什么是命名服务:
将名称和对象联系起来,使得应用程序可以用名称访问对象 ,这一点在分布式系统开发中尤为重要,例如:DNS、ejb开发分布式系统。
什么是目录服务:
目录服务是一种命名服务,在这种服务里,资源的管理是通过目录的层次结构方式来实现的,对象不但有名称,还有属性。例如:文件系统。
JNDI的优点:
包含了大量的命名和目录服务,使用通用接口来访问不同种类的服务;
可以同时连接到多个命名或目录服务上;
建立起逻辑关联,允许把名称同Java对象或资源关联起来,而不必知道对象或资源的物理ID;
解决多个应用程序访问同一资源以及集群环境中资源共享的问题。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值