`
yanglei008
  • 浏览: 85071 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

spring 通过jndi配置一个或者多个数据源

阅读更多
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!
分享到:
评论

相关推荐

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

    通常,在Web应用程序中,数据源常常通过Java Naming and Directory Interface (JNDI)进行管理,这允许多个应用共享同一个数据源,例如在应用服务器如Tomcat、JBoss或WebLogic中。然而,有时我们可能希望在非Web环境...

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

    在Spring配置文件中,可以通过`org.springframework.jndi.JndiObjectFactoryBean`类来定义一个数据源。例如: ```xml &lt;bean id="sysDB" class="org.springframework.jndi.JndiObjectFactoryBean"&gt; ...

    spring 配置jndi

    例如,在Tomcat中,可以在`server.xml`或`context.xml`中定义一个`&lt;Resource&gt;`标签来创建一个数据源,并为其指定一个唯一的JNDI名称。 2. **Spring的JNDI查找配置**: - 在Spring应用上下文中,使用`jee:jndi-...

    配置 JNDI 数据源

    1. Spring配置:在Spring的配置文件(如applicationContext.xml)中,不直接定义DataSource,而是声明一个Bean,使用JNDI查找来获取数据源。例如: ```xml &lt;bean id="dataSource" class="org.springframework.jndi....

    Spring多数据源配置

    在Spring中,配置多个数据源主要是通过定义多个`DataSource` bean来实现的。每个数据源可以对应不同的数据库实例,用于连接不同的数据库。以下是一个示例配置: ```xml ${jdbc.driver}"/&gt; ${jdbc.urlContent}"/&gt;...

    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 数据源不同配置

    Spring提供了一个名为`BasicDataSource`的类,它实现了`javax.sql.DataSource`接口,是最基础的数据源配置。在没有特殊需求的情况下,可以使用`BasicDataSource`。配置时,需要设置数据库URL、用户名、密码等属性。...

    tomcat6.0 配置jndi

    在Tomcat6.0中配置JNDI,主要是为了实现应用中的数据源管理,使得多个应用可以共享一个数据库连接池,提高资源利用率和系统性能。 **一、JNDI的基本概念** JNDI提供了一个统一的接口,让开发者可以查找和绑定各种...

    SpringMVC配置多数据源实战

    需要为每个数据源创建一个事务管理器,并在`determineCurrentLookupKey()`返回的键值与之匹配。 ```java @Bean(name = "db1TransactionManager") public PlatformTransactionManager db1TransactionManager(@...

    Spring多数据源分布式事务管理

    在大型分布式系统中,往往需要处理多个数据源,这就涉及到了Spring多数据源的配置和管理。同时,为了保证数据的一致性,分布式事务的管理也是必不可少的。在这个场景下,Atomikos作为一款开源的JTA(Java ...

    Spring 配置各种数据源

    当应用需要连接多个数据库时,Spring支持配置多个数据源。这通常需要自定义数据源切换策略。例如,可以使用`AbstractRoutingDataSource`来动态选择数据源。 ```java @Configuration public class ...

    Spring 数据源的灵活配置巧应用

    2. **直接在Spring中配置数据源**:这种方式更为灵活,尤其适合于单元测试或者非Web环境下的应用开发。本文将重点介绍第二种方式。 #### 四、使用Spring内置的数据源实现类 Spring框架提供了一系列的数据源实现类,...

    spring+druid+AtomikosDataSource实现多数据源切换及分布式事务控制

    通过Spring的配置,我们可以轻松地管理多个数据源,并根据业务逻辑进行动态切换。这通常涉及到使用`@Qualifier`注解来指定特定的数据源。 2. **Druid数据源** Druid是一个高性能、监控和扩展性极强的数据库连接池...

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

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

    Springboot 动态多数据源 jta分布式事务

    Spring Boot通过配置不同的数据源,使得我们可以方便地管理这些不同的数据库。配置多数据源通常涉及到以下几个步骤: 1. 引入依赖:在`pom.xml`或`build.gradle`文件中添加相应的数据库驱动依赖,如MySQL、Oracle等...

    动态数据源实现spring

    1. **定义数据源**: 创建多个实际的数据源,每个数据源对应一个具体的数据库连接配置。这些数据源可以是JNDI数据源,也可以是Spring的`BasicDataSource`或其他类型的DataSource实现。 2. **创建路由数据源**: 继承`...

    cxf多数据源配置

    "多数据源"这个标签提示我们,我们将探讨的是如何在CXF应用中配置多个数据源,以便可以同时连接和操作多个数据库或其他数据提供者。这通常涉及到Spring框架,因为CXF经常与Spring结合使用,利用其强大的依赖注入和...

    Spring配置JTA事务管理

    JTA是一个规范,它定义了接口和API,使得应用程序可以控制跨越多个数据存储(如数据库、消息队列等)的事务。它允许开发者编写无感知具体事务实现的代码,从而提高代码的可移植性和可维护性。 Spring通过...

    Spring JMS 消息处理-基于JNDI

    JNDI是一种服务,它提供了一个接口来查找和管理Java对象的名称,这些对象可以是消息队列、数据源或者其他服务。在Spring中,JNDI通常用于查找消息队列的位置,这样应用就可以通过JMS模板发送或接收消息。JNDI查找...

    spring proxool配置资料

    2. **配置Proxool属性**:在Spring的配置文件(如`applicationContext.xml`)中,我们需要定义一个`org.springframework.jndi.JndiObjectFactoryBean`,该工厂bean会创建一个Proxool的数据源。以下是一个基本的配置...

Global site tag (gtag.js) - Google Analytics