META-INF目录下建一个context.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<Resource name="jndiString_1" auth="Container"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
username="username"
password="passwd"
driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:@192.168.1.88:1521:databaseName1"/>
<Resource name="jndiString_2" auth="Container"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
username="username"
password="passwd"
driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:@192.168.1.88:1521:databaseName2"/>
</Context>
上述jndiString 只是一个存在于容器中的标识字符,需要在下面spring配置中引用.
spring配置文件spring-core.xml中
<bean id="jndiString_1" class="java.lang.String">
<constructor-arg>
<value>java:comp/env/jndiString_1</value>
</constructor-arg>
</bean>
<bean id="jndiString_2" class="java.lang.String">
<constructor-arg>
<value>java:comp/env/jndiString_2</value>
</constructor-arg>
</bean>
<bean id="dataSource1"
class="org.springframework.jndi.JndiObjectFactoryBean"
singleton="true">
<property name="jndiName">
<ref local="jndiString_1"/>
</property>
</bean>
<bean id="dataSource2"
class="org.springframework.jndi.JndiObjectFactoryBean"
singleton="true">
<property name="jndiName">
<ref local="jndiString_2"/>
</property>
</bean>
......
以上程序启动需要容器支持,如果要进行单元测试 这样配置是跑不起来滴.
单元测试的配置 就直接在spring 里面配一下吧!
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>oracle.jdbc.OracleDriver</value>
</property>
<property name="url">
<value>jdbc:oracle:thin:@192.168.1.88:1521:databaseName</value>
</property>
<property name="username">
<value>username</value>
</property>
<property name="password">
<value>passwd</value>
</property>
</bean>
OK!
分享到:
相关推荐
通常,在Web应用程序中,数据源常常通过Java Naming and Directory Interface (JNDI)进行管理,这允许多个应用共享同一个数据源,例如在应用服务器如Tomcat、JBoss或WebLogic中。然而,有时我们可能希望在非Web环境...
在Spring配置文件中,可以通过`org.springframework.jndi.JndiObjectFactoryBean`类来定义一个数据源。例如: ```xml <bean id="sysDB" class="org.springframework.jndi.JndiObjectFactoryBean"> ...
例如,在Tomcat中,可以在`server.xml`或`context.xml`中定义一个`<Resource>`标签来创建一个数据源,并为其指定一个唯一的JNDI名称。 2. **Spring的JNDI查找配置**: - 在Spring应用上下文中,使用`jee:jndi-...
1. Spring配置:在Spring的配置文件(如applicationContext.xml)中,不直接定义DataSource,而是声明一个Bean,使用JNDI查找来获取数据源。例如: ```xml <bean id="dataSource" class="org.springframework.jndi....
在Spring中,配置多个数据源主要是通过定义多个`DataSource` bean来实现的。每个数据源可以对应不同的数据库实例,用于连接不同的数据库。以下是一个示例配置: ```xml ${jdbc.driver}"/> ${jdbc.urlContent}"/>...
接下来,在Spring的配置文件中,我们需要使用JNDI查找的方式来绑定这两个数据源: ```xml <jee:jndi-lookup id="dataSource1" jndi-name="jdbc/test1" /> <jee:jndi-lookup id="dataSource2" jndi-name="jdbc/test2...
Spring提供了一个名为`BasicDataSource`的类,它实现了`javax.sql.DataSource`接口,是最基础的数据源配置。在没有特殊需求的情况下,可以使用`BasicDataSource`。配置时,需要设置数据库URL、用户名、密码等属性。...
在Tomcat6.0中配置JNDI,主要是为了实现应用中的数据源管理,使得多个应用可以共享一个数据库连接池,提高资源利用率和系统性能。 **一、JNDI的基本概念** JNDI提供了一个统一的接口,让开发者可以查找和绑定各种...
需要为每个数据源创建一个事务管理器,并在`determineCurrentLookupKey()`返回的键值与之匹配。 ```java @Bean(name = "db1TransactionManager") public PlatformTransactionManager db1TransactionManager(@...
在大型分布式系统中,往往需要处理多个数据源,这就涉及到了Spring多数据源的配置和管理。同时,为了保证数据的一致性,分布式事务的管理也是必不可少的。在这个场景下,Atomikos作为一款开源的JTA(Java ...
当应用需要连接多个数据库时,Spring支持配置多个数据源。这通常需要自定义数据源切换策略。例如,可以使用`AbstractRoutingDataSource`来动态选择数据源。 ```java @Configuration public class ...
2. **直接在Spring中配置数据源**:这种方式更为灵活,尤其适合于单元测试或者非Web环境下的应用开发。本文将重点介绍第二种方式。 #### 四、使用Spring内置的数据源实现类 Spring框架提供了一系列的数据源实现类,...
通过Spring的配置,我们可以轻松地管理多个数据源,并根据业务逻辑进行动态切换。这通常涉及到使用`@Qualifier`注解来指定特定的数据源。 2. **Druid数据源** Druid是一个高性能、监控和扩展性极强的数据库连接池...
总的来说,配置Tomcat 6.0的JNDI数据源是一个涉及多个配置文件和代码段的过程。正确配置后,它将使你的应用程序能够高效、灵活地管理和使用数据库连接。同时,这种解耦合的设计也有利于应用的扩展和维护。
Spring Boot通过配置不同的数据源,使得我们可以方便地管理这些不同的数据库。配置多数据源通常涉及到以下几个步骤: 1. 引入依赖:在`pom.xml`或`build.gradle`文件中添加相应的数据库驱动依赖,如MySQL、Oracle等...
1. **定义数据源**: 创建多个实际的数据源,每个数据源对应一个具体的数据库连接配置。这些数据源可以是JNDI数据源,也可以是Spring的`BasicDataSource`或其他类型的DataSource实现。 2. **创建路由数据源**: 继承`...
"多数据源"这个标签提示我们,我们将探讨的是如何在CXF应用中配置多个数据源,以便可以同时连接和操作多个数据库或其他数据提供者。这通常涉及到Spring框架,因为CXF经常与Spring结合使用,利用其强大的依赖注入和...
JTA是一个规范,它定义了接口和API,使得应用程序可以控制跨越多个数据存储(如数据库、消息队列等)的事务。它允许开发者编写无感知具体事务实现的代码,从而提高代码的可移植性和可维护性。 Spring通过...
JNDI是一种服务,它提供了一个接口来查找和管理Java对象的名称,这些对象可以是消息队列、数据源或者其他服务。在Spring中,JNDI通常用于查找消息队列的位置,这样应用就可以通过JMS模板发送或接收消息。JNDI查找...
2. **配置Proxool属性**:在Spring的配置文件(如`applicationContext.xml`)中,我们需要定义一个`org.springframework.jndi.JndiObjectFactoryBean`,该工厂bean会创建一个Proxool的数据源。以下是一个基本的配置...