首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

运用JNDI配置数据源

2012-10-14 
使用JNDI配置数据源Hibernate使用Tomcat中的jndi数据源。在tomcat的conf目录下的context.xml文件中添加: R

使用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"/>



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;
解决多个应用程序访问同一资源以及集群环境中资源共享的问题。

热点排行