`
lw4135
  • 浏览: 44733 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

使用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;
解决多个应用程序访问同一资源以及集群环境中资源共享的问题。
  • 大小: 103.2 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics