Hibernate使用Tomcat中的jndi数据源。
在tomcat的conf目录下的context.xml文件中添加:
[img]C:\Users\liuwang\Desktop\细说意义.jpg[/img]
web.xml文件中添加:
在hibernate.cfg.xml配置文件中使用datasource引用jndi数据源。Hibernate在创建sessionFactory实例时会绑定jndi数据源。
JNDI(Java Naming and Directory Interface,Java命名和目录接口)是SUN公司提供的一种标准的Java命名系统接口,JNDI提供统一 JNDI的客户端API,通过不同的访问提供者接口JNDI SPI的实现,由管理者将JNDI API映射为特定的命名服务和目录系统,使得Java应用程序可以和这些命名服务和目录服务之间进行交互。
什么是命名服务:
将名称和对象联系起来,使得应用程序可以用名称访问对象 ,这一点在分布式系统开发中尤为重要,例如:DNS、ejb开发分布式系统。
什么是目录服务:
目录服务是一种命名服务,在这种服务里,资源的管理是通过目录的层次结构方式来实现的,对象不但有名称,还有属性。例如:文件系统。
JNDI的优点:
包含了大量的命名和目录服务,使用通用接口来访问不同种类的服务;
可以同时连接到多个命名或目录服务上;
建立起逻辑关联,允许把名称同Java对象或资源关联起来,而不必知道对象或资源的物理ID;
解决多个应用程序访问同一资源以及集群环境中资源共享的问题。
在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;
解决多个应用程序访问同一资源以及集群环境中资源共享的问题。