使用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 包



你可能感兴趣的:(使用JOTM实现分布式事务管理(多数据源))