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

Spring配置多个数据连接事务(转)

阅读更多
<beans> 
  
      <bean   id="myDataSource1"   class="org.springframework.jndi.JndiObjectFactoryBean"> 
          <property   name="jndiName   value="java:comp/env/jdbc/myds1"/> 
      </bean> 
  
      <bean   id="myDataSource2"   class="org.springframework.jndi.JndiObjectFactoryBean"> 
          <property   name="jndiName"   value="java:comp/env/jdbc/myds2"/> 
      </bean> 
  
      <bean   id="mySessionFactory1"   class="org.springframework.orm.hibernate.LocalSessionFactoryBean"> 
          <property   name="dataSource"   ref="myDataSource1"/> 
          <property   name="mappingResources"> 
              <list> 
                  <value>product.hbm.xml</value> 
              </list> 
          </property> 
          <property   name="hibernateProperties"> 
              <props> 
                  <prop   key="hibernate.dialect">net.sf.hibernate.dialect.MySQLDialect</prop> 
              </props> 
          </property> 
      </bean> 
  
      <bean   id="mySessionFactory2"   class="org.springframework.orm.hibernate.LocalSessionFactoryBean"> 
          <property   name="dataSource"   ref="myDataSource2"/> 
          <property   name="mappingResources"> 
              <list> 
                  <value>inventory.hbm.xml</value> 
              </list> 
          </property> 
          <property   name="hibernateProperties"> 
              <props> 
                  <prop   key="hibernate.dialect">net.sf.hibernate.dialect.OracleDialect</prop> 
              </props> 
          </property> 
      </bean> 
  
      <bean   id="myTxManager"   class="org.springframework.transaction.jta.JtaTransactionManager"/> 
  
      <bean   id="myProductDao"   class="product.ProductDaoImpl"> 
          <property   name="sessionFactory"   ref="mySessionFactory1"/> 
      </bean> 
  
      <bean   id="myInventoryDao"   class="product.InventoryDaoImpl"> 
          <property   name="sessionFactory"   ref="mySessionFactory2"/> 
      </bean> 
  
      <bean   id="myProductServiceTarget"   class="product.ProductServiceImpl"> 
          <property   name="productDao"   ref="myProductDao"/> 
          <property   name="inventoryDao"   ref="myInventoryDao"/> 
      </bean> 
  
      <bean   id="myProductService" 
              class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"> 
          <property   name="transactionManager"   ref="myTxManager"/> 
          <property   name="target"   ref="myProductServiceTarget"/> 
          <property   name="transactionAttributes"> 
              <props> 
                  <prop   key="increasePrice*">PROPAGATION_REQUIRED</prop> 
                  <prop   key="someOtherBusinessMethod">PROPAGATION_REQUIRES_NEW</prop> 
                  <prop   key="*">PROPAGATION_SUPPORTS,readOnly</prop> 
              </props> 
          </property> 
      </bean> 
  
  </beans>
分享到:
评论

相关推荐

    Spring配置多个数据源

    本文将详细介绍如何在Spring应用中配置多个数据源。 首先,我们来理解数据源(DataSource)的概念。数据源是Java中用于存储数据库连接信息的接口,它实现了JDBC规范中的`javax.sql.DataSource`接口。通过数据源,...

    Springcloud 多数库 多数据源整合,查询动态切换数据库

    1. **配置多数据源**:Spring Boot提供了DataSourceAutoConfiguration,它允许我们配置多个数据源。每个数据源可以有自己的配置,如JDBC连接池、数据库驱动、URL、用户名和密码等。我们可以使用@...

    spring boot多数据源配置

    在Spring Boot应用中,多数据源配置是一项关键的技术,它允许我们同时管理多个数据库,比如主库和从库,或者不同类型的数据库。本教程将详细阐述如何在Spring Boot项目中实现这一功能,从数据源配置、实体管理到...

    Spring Boot多数据源(支持Spring声明式事务切换和回滚).pdf

    - 使用双端队列(Deque)实现数据库的链式切换,这在处理需要顺序访问或循环访问多个数据源的场景中非常有用。 5. **事务内切换数据源**: - 引入了一个创新的特性,即在同一个事务内支持数据源的切换,并且兼容...

    springboot连接池、动态配置多数据源连接池,特别适合大数据部门、数据中台服务的多数据源连接池.zip

    本项目——"spring-boot-easy-connection-pool-master",主要探讨了如何在Spring Boot环境下配置和管理连接池,并且实现了动态配置多数据源的功能,这对于大数据部门和数据中台服务尤其重要。 首先,让我们深入理解...

    SpringBoot多数据源配置(方式一:配置多个mapper扫描不同的包路径实现多数据源配置).docx

    本文将详细介绍如何通过配置多个Mapper扫描不同的包路径来实现多数据源的配置。 #### 二、多数据源配置背景与应用场景 在Spring Boot项目中,默认情况下通常只需要配置一个数据源,即项目的主数据源。但在某些特定...

    spring对多个数据库进行事务管理.doc

    在Spring中配置多个数据源并进行事务管理,可以参考以下步骤: 1. **配置数据源**:为每个数据库创建一个数据源Bean,例如`dataSource1`和`dataSource2`。这些数据源可以是基于JDBC的,也可以是其他ORM框架如...

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

    Atomikos是遵循JTA标准的事务管理器,支持全局事务,能协调跨多个数据源的事务操作。在Spring中使用Atomikos,首先需要添加相应的依赖库,并在Spring配置文件中声明Atomikos事务管理器。然后,我们需要配置Atomikos...

    Spring Boot + Druid + Mybatis + Atomikos 配置多数据源 并支持分布式事务

    本教程将探讨如何利用Spring Boot、Druid、Mybatis以及Atomikos来配置多数据源并实现分布式事务。 首先,Spring Boot是Java生态系统中的一个流行框架,它简化了设置和配置过程,使得开发人员可以快速启动新项目。在...

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

    在许多业务场景下,一个应用程序可能需要连接到多个数据库,例如,一个用于存储用户信息,另一个用于处理订单数据。Spring Boot通过配置不同的数据源,使得我们可以方便地管理这些不同的数据库。配置多数据源通常...

    spring配置两个数据

    而在多数据源管理方面,Spring同样提供了灵活且强大的支持,允许开发者在一个应用程序中配置和使用多个数据源,满足了复杂业务场景下对不同数据库操作的需求。 ### Spring配置两个数据源 #### 核心概念解析 **...

    Spring管理配置多个数据源

    要配置多个数据源,我们需要创建两个或更多的Bean,每个Bean代表一个数据源。例如,我们可以创建两个数据源Bean,分别命名为`primaryDataSource`和`secondaryDataSource`。每个Bean都需要设置相应的连接参数,如URL...

    Spring多数据源配置

    本文将详细探讨如何在Spring环境中配置多个数据源,包括DataSource、SessionFactory、TransactionManager以及JTATransactionManager的设置。 #### 第一步:配置多个DataSource 在Spring中,配置多个数据源主要是...

    spring 动态多数据源配置代码

    当涉及到多数据源配置时,Spring框架提供了强大的支持,允许我们动态地管理多个数据库连接。这在分布式系统、数据分片或是数据库隔离等场景下非常有用。下面将详细介绍Spring动态多数据源配置的相关知识点。 1. **...

    Spring AOP配置事务方法

    在上面的配置文件中,我们可以看到 Context 文件中定义了多个命名空间,包括 beans、aop、tx、context 等这些命名空间用于定义不同的配置信息。 结论: Spring AOP 配置事务方法提供了一种灵活的方式来实现事务...

    Spring Boot多数据源(JdbcTemplate)配置与使用

    在Spring Boot应用中,我们经常需要处理来自多个数据源的数据,比如在开发微服务架构时,每个服务可能对应一个特定的数据源。`JdbcTemplate`是Spring框架提供的一个用于简化数据库操作的工具,它使得数据库访问更为...

    SSM(Spring+SpringMVC+MyBatis)多数据源配置框架

    1. **数据源配置**:在Spring配置文件中,我们需要定义多个数据源bean,每个数据源对应一个数据库连接。这可能包括Druid或HikariCP这样的连接池配置。 2. **动态数据源**:Spring的AbstractRoutingDataSource类允许...

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

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

    spring+hibernate和spring+myBatis实现连接多个数据库,同时操作的项目

    4. **MyBatis配置**:配置多个数据源的SqlSessionFactory,以及Mapper接口和XML映射文件。 5. **业务逻辑代码**:在服务层或DAO层,通过Spring的@Autowired注解或自定义数据源选择器来切换使用不同的数据源。 6. *...

    Spring 数据源不同配置

    对于需要同时连接多个数据库的应用,Spring支持多数据源配置。可以通过`@Qualifier`注解指定使用哪个数据源,或者使用`AbstractRoutingDataSource`动态路由数据源。 6. **JNDI数据源** 在应用服务器中,数据源...

Global site tag (gtag.js) - Google Analytics