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&characterEncoding=UTF-8&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&characterEncoding=UTF-8&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&characterEncoding=UTF-8&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数据源主要涉及两部分:一是应用服务器中JNDI资源的注册,二是Spring配置文件中通过JNDI查找并使用这些资源。这种方式的好处在于解耦,应用不再直接依赖具体的数据库连接配置,而是通过JNDI...
本文将详细介绍如何在Spring中配置两种不同的方式来获取WebLogic JNDI数据源。 #### 一、本地WebLogic Server获取 这种方式适用于当Spring应用与WebLogic服务器在同一台物理机器上运行时的情况。在这种模式下,...
在Spring框架与Tomcat服务器的集成中,配置JNDI数据源是将数据库连接管理交给服务器来处理,提高应用的可移植性和资源利用率。下面将详细解释配置JNDI数据源的相关知识点。 一、JNDI数据源的概念 JNDI数据源是一种...
Tomcat6+Spring+JNDI配置数据源说明 本文档主要介绍了Tomcat6+Spring+JNDI配置数据源的详细步骤和原理...本文档提供了详细的 Tomcat6+Spring+JNDI 配置数据源的步骤和原理,可以帮助开发者快速了解和实现数据源配置。
然而,有时我们可能希望在非Web环境下或不使用JNDI的情况下配置数据源,这时我们需要在Spring的配置文件中等价地实现JNDI的数据源配置。以下是如何在Spring中进行这种转换的详细步骤和知识点: 1. **理解JNDI配置**...
下面我们将深入探讨如何在Spring中配置JNDI数据源。 首先,了解JNDI的基本概念。JNDI是一个接口,提供了在命名和目录服务中查找和管理对象的API。在Java应用服务器中,JNDI通常用于查找数据源,这些数据源已经预先...
Spring jndi 数据源配置方法详解 Spring jndi 数据源配置是指在 Spring 框架中使用 JNDI(Java Naming and Directory Interface)来配置数据源的方法。JNDI 是一个 Java API,用于访问命名和目录服务。通过使用 ...
总的来说,配置Tomcat 6.0的JNDI数据源是一个涉及多个配置文件和代码段的过程。正确配置后,它将使你的应用程序能够高效、灵活地管理和使用数据库连接。同时,这种解耦合的设计也有利于应用的扩展和维护。
4. **JNDI数据源配置** 在企业级应用中,数据源可能由应用服务器提供,此时可以使用JNDI查找数据源。Spring通过`jee:remote-data-source`或`jee:jndi-lookup`标签实现: ```xml ...
本文将深入解析如何在JBoss中配置MySQL的JNDI数据源,确保应用程序能够高效、稳定地访问数据库资源。 ### JBoss与JNDI的关联 JBoss作为一个高性能的Java应用服务器,提供了丰富的功能支持企业级应用开发。JNDI作为...
Spring支持多种数据源配置方式,包括基本的JDBC数据源、连接池数据源以及事务管理策略等。下面将详细介绍Spring中常见的数据源配置及其相关知识点。 1. **基本JDBC数据源** Spring提供了一个名为`BasicDataSource`...
2. **配置环境**:在应用的上下文配置文件(如Spring的`applicationContext.xml`或Java配置类)中,声明JNDI数据源的查找。例如,使用Spring时: ```xml <jee:jndi-lookup id="dataSource" jndi-name="java:comp/...
在Spring配置文件中,设置`DynamicDataSource`为主数据源,这样所有未指定数据源的数据库操作都将默认使用它。 ```xml ``` 4. **事务管理器配置** 使用`PlatformTransactionManager`来处理多数据源的事务...
这三种数据源配置方式各有优缺点。`DriverManagerDataSource`简单易用,但不适合生产环境;`BasicDataSource`提供了连接池,适合生产环境;而通过JNDI查找数据源则适用于分布式环境,能够更好地管理和共享资源。选择...
1. **创建数据源配置文件**:在Tomcat的`conf/server.xml`文件中,找到`<GlobalNamingResources>`标签,在其中添加数据源的配置。例如,创建一个名为`jdbc/myDataSource`的数据源: ```xml type="javax.sql....
接下来,在Spring的配置文件中,我们需要使用JNDI查找的方式来绑定这两个数据源: ```xml <jee:jndi-lookup id="dataSource1" jndi-name="jdbc/test1" /> <jee:jndi-lookup id="dataSource2" jndi-name="jdbc/test2...
如何使用Spring从JNDI查找数据源 Server.xml <资源名称=“ jdbc / javatechie”全局=“ jdbc / javatechie” auth =“容器” type =“ javax.sql.DataSource” driverClassName =“ com.mysql.jdbc.Driver” url...
### Spring多数据源配置详解 在企业级应用中,尤其是微服务架构下,多数据源配置成为了一项常见的需求。Spring框架提供了灵活且强大的机制来处理这种场景,使得开发者能够在一个应用中集成多个数据源,从而实现数据...