`

Spring配置JNDI数据源

 
阅读更多

       

spring中配置JNDI

 

在spring中配置,这样就可以动态切换在本地,还是服务器上

applicationContext-databaseSource-jndi.xml   通过JNDI访问数据源

applicationContext-databaseSource-jdbc.xml   通过本地配置jDBC访问数据源

 

在applicationContext.xml中引入即可:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">

	<!--数据库连接  -->
	<import resource="applicationContext-databaseSource-xxxx.xml" /> //xxxx指的是jndi或是jdbc
</beans>

 

 

applicationContext-databaseSource-jndi.xml 具体配置方式如下:

 

<?xml version="1.0" encoding="UTF-8"?>
<beans
	xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:p="http://www.springframework.org/schema/p"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
	<bean id="activityToon_r" class="org.springframework.jndi.JndiObjectFactoryBean">
		<property name="jndiName" value="java:comp/env/jdbc/ActivityToon_r"/>
	</bean>
	
	<bean id="activityToon_w" class="org.springframework.jndi.JndiObjectFactoryBean">
		<property name="jndiName" value="java:comp/env/jdbc/ActivityToon_w"/>
	</bean>
</beans>

 

 

applicationContext-databaseSource-jdbc.xml具体配置方式如下

 

<bean id="UCenter_w" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
	<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
	<property name="url" value="jdbc:mysql://172.28.5.92:3306/xxxx?useUnicode=true&amp;characterEncoding=UTF-8&amp;allowMultiQueries=true"/>
	<property name="username" value="xxx"/>
	<property name="password" value="xxxx"/>
</bean>

 

 

要使用:JNDI数据源需要在tomcat中配置才能获取到 Tomcat6使用的是DBCP数据源,它的配置方式如下

具体配置信息请参考:http://blog.csdn.net/lwwgtm/article/details/8222521

 

1.它可以直接配置在Server.xml中Context元素下,这时数据源就只有他所属的应用能够访问。

2.如果需要所有的应用能够访问,可以配置在$TOMCAT/conf/context.xml中,直接配置下根元素下即可。这个文件在启动tomcat的时候,所有的应用都会加载。

3.如果需要节省资源,共享同一个数据源,可以配置在Server.xml的GlobalNamingResources 这是一个全局的

 

第三种全局数据源配置:

 

//
3.在Server.xml全局的数据源配置如下:
  <GlobalNamingResources>
    <!-- Editable user database that can also be used by
         UserDatabaseRealm to authenticate users
    -->
    <Resource name="jdbc/UCenter_r" auth="Container"
              type="org.apache.catalina.UserDatabase"
              description="User database that can be updated and saved"
              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
              pathname="conf/tomcat-users.xml" />
  </GlobalNamingResources>	
	   
//在应用中可以通过别名访问,提供别名的方式是在应用所在的元素下添加如下的子元素:
<ResourceLink name="jdbc/UCenter_r" global="jdbc/UCenter_r" type="javax.sql.DataSource"/>

 

第二种所有的应用能够共享访问配置在$TOMCAT/conf/context.xml中配置在根元素<Context></Context>中

 

 

<Resource name="jdbc/ActivityToon_r" auth="Container" type="javax.sql.DataSource"
               maxActive="10" maxIdle="30" maxWait="10000"
               username="xxxx" password="xxxx" driverClassName="com.mysql.jdbc.Driver"
                           removeAbandoned="true"
                           removeAbandonedTimeout="60"
                           logAbandoned="true" validationQuery="select 1" 
               url="jdbc:mysql://172.28.5.91:3306/xxx_activityDemo?useUnicode=true&amp;characterEncoding=UTF-8&amp;allowMultiQueries=true"/>

 

 

第一种只限当前应用访问数据源在Server.xml配置:

<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true" xmlNamespaceAware="false" xmlValidation="false">
	<Context docBase="/home/webapp2/XXBusinessAPI.war" path="/" reloadable="true" source="org.eclipse.jst.jee.server:ActivityBusinessAPI">
		<Resource name="jdbc/ActivityToon_r" auth="Container" type="javax.sql.DataSource"
               maxActive="10" maxIdle="30" maxWait="10000"
               username="xxxx" password="xxxx" driverClassName="com.mysql.jdbc.Driver"
                           removeAbandoned="true"
                           removeAbandonedTimeout="60"
                           logAbandoned="true" validationQuery="select 1" 
               url="jdbc:mysql://172.28.5.91:3306/xxx_activityDemo?useUnicode=true&amp;characterEncoding=UTF-8&amp;allowMultiQueries=true"/>
		<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="route_access_" suffix=".txt" pattern="common" resolveHosts="false"/>
	</Context>
</Host>

 

更具体的配置信息请看 http://blog.csdn.net/lwwgtm/article/details/8222521 

 

分享到:
评论

相关推荐

    spring配置JNDI数据源

    总结来说,Spring配置JNDI数据源主要涉及两部分:一是应用服务器中JNDI资源的注册,二是Spring配置文件中通过JNDI查找并使用这些资源。这种方式的好处在于解耦,应用不再直接依赖具体的数据库连接配置,而是通过JNDI...

    spring获取weblogic jndi数据源的两种方式

    本文将详细介绍如何在Spring中配置两种不同的方式来获取WebLogic JNDI数据源。 #### 一、本地WebLogic Server获取 这种方式适用于当Spring应用与WebLogic服务器在同一台物理机器上运行时的情况。在这种模式下,...

    配置 JNDI 数据源

    在Spring框架与Tomcat服务器的集成中,配置JNDI数据源是将数据库连接管理交给服务器来处理,提高应用的可移植性和资源利用率。下面将详细解释配置JNDI数据源的相关知识点。 一、JNDI数据源的概念 JNDI数据源是一种...

    Tomcat6+spring+jndi配置数据源说明.docx

    Tomcat6+Spring+JNDI配置数据源说明 本文档主要介绍了Tomcat6+Spring+JNDI配置数据源的详细步骤和原理...本文档提供了详细的 Tomcat6+Spring+JNDI 配置数据源的步骤和原理,可以帮助开发者快速了解和实现数据源配置。

    如何在spring中等价配置得到原本由jndi配置实现的数据源

    然而,有时我们可能希望在非Web环境下或不使用JNDI的情况下配置数据源,这时我们需要在Spring的配置文件中等价地实现JNDI的数据源配置。以下是如何在Spring中进行这种转换的详细步骤和知识点: 1. **理解JNDI配置**...

    spring 配置jndi

    下面我们将深入探讨如何在Spring中配置JNDI数据源。 首先,了解JNDI的基本概念。JNDI是一个接口,提供了在命名和目录服务中查找和管理对象的API。在Java应用服务器中,JNDI通常用于查找数据源,这些数据源已经预先...

    Spring jndi数据源配置方法详解

    Spring jndi 数据源配置方法详解 Spring jndi 数据源配置是指在 Spring 框架中使用 JNDI(Java Naming and Directory Interface)来配置数据源的方法。JNDI 是一个 Java API,用于访问命名和目录服务。通过使用 ...

    Tomcat6.0配置JNDI数据源完整例子(5.5与此配置相同)

    总的来说,配置Tomcat 6.0的JNDI数据源是一个涉及多个配置文件和代码段的过程。正确配置后,它将使你的应用程序能够高效、灵活地管理和使用数据库连接。同时,这种解耦合的设计也有利于应用的扩展和维护。

    Spring 配置各种数据源

    4. **JNDI数据源配置** 在企业级应用中,数据源可能由应用服务器提供,此时可以使用JNDI查找数据源。Spring通过`jee:remote-data-source`或`jee:jndi-lookup`标签实现: ```xml ...

    jboss配置MySql的JNDI

    本文将深入解析如何在JBoss中配置MySQL的JNDI数据源,确保应用程序能够高效、稳定地访问数据库资源。 ### JBoss与JNDI的关联 JBoss作为一个高性能的Java应用服务器,提供了丰富的功能支持企业级应用开发。JNDI作为...

    Spring 数据源不同配置

    Spring支持多种数据源配置方式,包括基本的JDBC数据源、连接池数据源以及事务管理策略等。下面将详细介绍Spring中常见的数据源配置及其相关知识点。 1. **基本JDBC数据源** Spring提供了一个名为`BasicDataSource`...

    Tomcat学习笔记 - 【使用JNDI数据源】

    2. **配置环境**:在应用的上下文配置文件(如Spring的`applicationContext.xml`或Java配置类)中,声明JNDI数据源的查找。例如,使用Spring时: ```xml &lt;jee:jndi-lookup id="dataSource" jndi-name="java:comp/...

    SpringMVC配置多数据源实战

    在Spring配置文件中,设置`DynamicDataSource`为主数据源,这样所有未指定数据源的数据库操作都将默认使用它。 ```xml ``` 4. **事务管理器配置** 使用`PlatformTransactionManager`来处理多数据源的事务...

    Spring配置数据源的三种方式 (dbcp,c3p0,jndi)..docx

    这三种数据源配置方式各有优缺点。`DriverManagerDataSource`简单易用,但不适合生产环境;`BasicDataSource`提供了连接池,适合生产环境;而通过JNDI查找数据源则适用于分布式环境,能够更好地管理和共享资源。选择...

    tomcat6.0 配置jndi

    1. **创建数据源配置文件**:在Tomcat的`conf/server.xml`文件中,找到`&lt;GlobalNamingResources&gt;`标签,在其中添加数据源的配置。例如,创建一个名为`jdbc/myDataSource`的数据源: ```xml type="javax.sql....

    spring+jotm 多数据源事务管理(三)JNDI+Tomcat

    接下来,在Spring的配置文件中,我们需要使用JNDI查找的方式来绑定这两个数据源: ```xml &lt;jee:jndi-lookup id="dataSource1" jndi-name="jdbc/test1" /&gt; &lt;jee:jndi-lookup id="dataSource2" jndi-name="jdbc/test2...

    spring-jndi-lookup:如何使用Spring从JNDI查找数据源

    如何使用Spring从JNDI查找数据源 Server.xml &lt;资源名称=“ jdbc / javatechie”全局=“ jdbc / javatechie” auth =“容器” type =“ javax.sql.DataSource” driverClassName =“ com.mysql.jdbc.Driver” url...

    Spring多数据源配置

    ### Spring多数据源配置详解 在企业级应用中,尤其是微服务架构下,多数据源配置成为了一项常见的需求。Spring框架提供了灵活且强大的机制来处理这种场景,使得开发者能够在一个应用中集成多个数据源,从而实现数据...

Global site tag (gtag.js) - Google Analytics