`
myrl1023
  • 浏览: 35957 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

使用JOTM实现分布式事务管理(多数据源)

阅读更多
使用JOTM实现分布式事务管理(多数据源)  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:aop="http://www.springframework.org/schema/aop"
	xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"
	xmlns:tx="http://www.springframework.org/schema/tx"
	xsi:schemaLocation="
       http://www.springframework.org/schema/beans 
       http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
       http://www.springframework.org/schema/tx
      http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
       http://www.springframework.org/schema/aop 
       http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
       http://www.springframework.org/schema/context 
       http://www.springframework.org/schema/context/spring-context-2.5.xsd">

	<context:annotation-config />
	<context:component-scan base-package="com.base" />	
	<aop:aspectj-autoproxy/>
	
  <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="locations">
            <list>
                <value>classpath:jdbc.properties</value>
            </list>
        </property>
    </bean>
	<bean id="local.dataSource" class="org.enhydra.jdbc.pool.StandardXAPoolDataSource" destroy-method="shutdown">
		<property name="dataSource">
			<bean class="org.enhydra.jdbc.standard.StandardXADataSource" destroy-method="shutdown">
				<property name="transactionManager" ref="jotm" />
				<property name="driverName" value="${jdbc.driverClassName}" />
				<property name="url" value="${jdbc.url}" />
				<property name="minCon" value="10"/>
				<property name="maxCon" value="100"/>
				<property name="deadLockMaxWait" value="10000"/>
			</bean>
		</property>
		<property name="user" value="${jdbc.username}" />
		<property name="password" value="${jdbc.password}" />
		<property name="jdbcTestStmt" value="select 1"/>
	</bean>


    <bean id="local.sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
        <property name="dataSource" ref="local.dataSource"/>
        <property name="hibernateProperties">
            <value>
                hibernate.dialect=org.hibernate.dialect.MySQLDialect
                hibernate.query.substitutions=true 'Y', false 'N'
                hibernate.cache.use_second_level_cache=true
                hibernate.cache.provider_class=org.hibernate.cache.EhCacheProvider
                hibernate.cache.configurationResourceName=ehcache.xml
                hibernate.show_sql=false
            </value>
           
        </property>
		<property name="packagesToScan" value="com.base.model"/>
    </bean>

	

    <bean id="jotm" class="org.springframework.transaction.jta.JotmFactoryBean" />
	<bean id="jtaTransactionManager" class="org.springframework.transaction.jta.JtaTransactionManager">
		<property name="userTransaction" ref="jotm" />
	</bean>
	<tx:annotation-driven transaction-manager="jtaTransactionManager" order="1" />
</beans>



下面是相关的项目JRA 包



分享到:
评论

相关推荐

    spring + JTA + JOTM实现分布式事务

    本教程将深入探讨如何使用Spring框架、Java Transaction API (JTA) 和 Java Open Transaction Manager (JOTM) 来实现这样的分布式事务管理。 首先,我们来了解一下JTA。JTA是Java平台的标准事务API,它允许应用程序...

    spring+jotm 多数据源事务管理(二)hibernate

    本篇文章将聚焦于如何结合Spring和JOTM(Java Open Transaction Manager)来实现多数据源的事务管理,特别是针对使用Hibernate的情况。 JOTM是Java平台上的一个开放源代码事务管理器,它遵循JTA(Java Transaction ...

    多数据源 更新 spring jta java jotm

    通过Spring的`AbstractRoutingDataSource`和JTA,我们可以轻松地管理多个数据源,并通过JOTM保证分布式事务的一致性。在实际项目中,这种架构可以帮助我们构建可扩展、高可用的系统。在SpringDemo项目中,你可以找到...

    开源分布式事务管理Jtom

    【标题】"开源分布式事务管理Jtom"是一个关键的话题,主要关注的是在Java环境中如何高效地管理和协调跨多个数据源的事务。Jtom,全称为Java Open Transaction Manager,是实现这一目标的重要工具。它是一个完全遵循...

    jta分布式事务完成例子,测试通过

    例子虽小,可覆盖面广,设计spring载入.properties文件,spring配置jta和jotm分布式事务,设置数据源连接池,注解事务驱动。功能是在mysql上建立了两个数据库分别为dbone和dbtwo,在dbone里有表tb1,表中只有一个字段...

    spring JTA集成JOTM或Atomikos配置分布式事务(Tomcat应用服务器)

    本文将深入探讨如何在Tomcat应用服务器上集成JTA,并使用JOTM(Java Open Transaction Manager)或Atomikos作为事务管理器来实现分布式事务。 首先,我们需要理解JTA的核心概念。JTA是Java EE平台的一部分,提供了...

    Spring+Jotm+Hibernate+Oracle+Junit 实现JTA分布式事务要求Demo工程

    2.Spring+Jotm整合实现JTA分布式事务,应用场景如转账等,同一事务内完成db1用户加100元、db2用户减100元。 3.Spring+Junit4单元测试,优点:不会破坏数据库现场,等等。 (特别注意:Spring3.0里不在提供对jotm的...

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

    在本篇文章中,我们将深入探讨如何利用Spring框架结合JOTM(Java Open Transaction Manager)来实现多数据源下的分布式事务管理。我们将通过具体实例展示如何在Tomcat服务器环境下配置并使用这些技术。 #### 一、...

    Spring+iBatis+JOTM实现JTA事务

    在分布式系统中,JTA(Java Transaction API)事务管理用于处理跨越多个数据源的事务,如数据库、消息队列等。JOTM(Java Open Transaction Manager)是一个开源的JTA事务管理器,可以在非J2EE环境下提供分布式事务...

    spring 多数据源事务案例

    原先很多都是用jotm实现的,但是由于spring的升级,totm的本地化实例那个类已经找不到了,所以我使用了atomikos。 因为xa接口的事务开销比较大,在项目中如果全部使用分布式的话,那么开销也是很大的,所以在项目中...

    JOTM简单测试DEMO(不含jar包)

    本DEMO主要展示了如何在Spring框架中结合JOTM来处理分布式事务,特别是涉及多个数据源的情况。 首先,我们需要理解JOTM的基本概念。JOTM作为一个事务协调者,负责管理跨多个资源的事务,确保它们要么全部成功,要么...

    分布式事务JTA之实践:Spring+ATOMIKOS

    本篇文章将探讨如何在Java环境中,利用Spring框架和Atomikos这样的第三方工具实现分布式事务管理,即JTA(Java Transaction API)的实践。 JTA是Java平台提供的一种标准API,用于管理跨越多个资源(如数据库、消息...

    jotm资源包

    7. **分布式事务**:JOTM支持分布式事务处理,这意味着可以跨越多个数据源进行事务操作,这对于分布式系统和微服务架构尤其重要。 8. **故障恢复与事务日志**:JOTM使用事务日志来确保在系统故障后的事务一致性,...

    jotm jar包

    JOTM(Java Open Transaction Manager)是一个开源的Java事务管理器,它实现了Java Transaction API (JTA) 和 Java Transaction Service (JTS) 规范,为分布式事务处理提供了支持。在Java应用程序中,特别是在企业级...

    分布式事务的介绍

    分布式事务处理是分布式系统设计中非常重要的一环,尤其是在涉及多个服务或数据源的情况下。 #### 二、两阶段提交协议(2PC) 两阶段提交协议是解决分布式事务问题的经典算法之一。它主要分为两个阶段: 1. **准备...

    Spring多数据源配置_分布式数据

    ### Spring多数据源配置与分布式数据管理 #### 环境及框架介绍 在本案例中,我们将探讨如何在基于Tomcat服务器的环境下配置多个数据源,并实现分布式数据的交互。该系统的架构主要包括:Tomcat作为应用服务器,...

Global site tag (gtag.js) - Google Analytics