赞
踩
- <?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:tx="http://www.springframework.org/schema/tx"
- xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context"
- xsi:schemaLocation="
- http://www.springframework.org/schema/beans
- http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
- http://www.springframework.org/schema/tx
- http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
- http://www.springframework.org/schema/aop
- http://www.springframework.org/schema/aop/spring-aop.xsd
- http://www.springframework.org/schema/context
- http://www.springframework.org/schema/context/spring-context-4.0.xsd
- ">
- <context:property-placeholder location="classpath:config.properties" />
- <!-- 开启编程式事务 -->
- <tx:annotation-driven transaction-manager="springTransactionManager" />
- <!-- 用atomikosDataSourceBean配置数据源1 -->
- <bean id="dataSource" class="com.atomikos.jdbc.AtomikosDataSourceBean">
- <property name="uniqueResourceName">
- <value>db1</value>
- </property>
- <property name="xaDataSourceClassName">
- <value>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</value>
- </property>
- <property name="xaProperties">
- <props>
- <prop key="user">root</prop>
- <prop key="password">root</prop>
- <prop key="url">jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8
- </prop>
- </props>
- </property>
- <property name="maxPoolSize">
- <value>3</value>
- </property>
- </bean>
- <!-- session工厂 -->
- <bean id="sessionFactory"
- class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
- <property name="dataSource" ref="dataSource" />
- <property name="hibernateProperties">
- <props>
- <prop key="hibernate.hbm2ddl.auto">update</prop>
- <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
- <prop key="hibernate.show_sql">true</prop>
- <prop key="hibernate.format_sql">true</prop>
- </props>
- </property>
- <!-- 注解方式配置 -->
- <property name="packagesToScan">
- <list>
- <value>com.feng.model</value>
- </list>
- </property>
- </bean>
-
-
- <bean id="dataSource2" class="com.atomikos.jdbc.AtomikosDataSourceBean">
- <property name="uniqueResourceName">
- <value>db2</value>
- </property>
- <property name="xaDataSourceClassName">
- <value>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</value>
- </property>
- <property name="xaProperties">
- <props>
- <prop key="user">root</prop>
- <prop key="password">root</prop>
- <prop key="url">jdbc:mysql://localhost:3306/test2?useUnicode=true&characterEncoding=UTF-8
- </prop>
- </props>
- </property>
- <property name="maxPoolSize">
- <value>3</value>
- </property>
- </bean>
- <!-- session工厂 -->
- <bean id="sessionFactory2"
- class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
- <property name="dataSource" ref="dataSource2" />
- <property name="hibernateProperties">
- <props>
- <prop key="hibernate.hbm2ddl.auto">update</prop>
- <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
- <prop key="hibernate.show_sql">true</prop>
- <prop key="hibernate.format_sql">true</prop>
- </props>
- </property>
- <!-- 注解方式配置 -->
- <property name="packagesToScan">
- <list>
- <value>com.feng.model2</value>
- </list>
- </property>
- </bean>
-
- <!-- 配置atomikos事务管理 -->
- <bean id="atomikosTransactionManager" class="com.atomikos.icatch.jta.UserTransactionManager"
- init-method="init" destroy-method="close">
- <property name="forceShutdown">
- <value>true</value>
- </property>
- </bean>
- <bean id="atomikosUserTransaction" class="com.atomikos.icatch.jta.UserTransactionImp">
- <property name="transactionTimeout">
- <value>30000</value>
- </property>
- </bean>
-
- <!-- 用jta来做事务管理器 -->
- <bean id="springTransactionManager"
- class="org.springframework.transaction.jta.JtaTransactionManager">
- <property name="transactionManager" ref="atomikosTransactionManager" />
- <property name="userTransaction" ref="atomikosUserTransaction" />
- </bean>
-
- <tx:advice id="txAdvice" transaction-manager="springTransactionManager">
- <tx:attributes>
- <!-- 针对不同的方法的具体事务操作 -->
- <tx:method name="add*" propagation="REQUIRED" />
- <tx:method name="save*" propagation="REQUIRED" />
- <!-- read-only="true" 表示只读 -->
- <tx:method name="*" propagation="REQUIRED" read-only="true" />
- </tx:attributes>
- </tx:advice>
- <aop:config>
- <aop:pointcut expression="execution(* com.feng.service.*.*(..))" id="serviceOperation"/>
- <aop:advisor advice-ref="txAdvice" pointcut-ref="serviceOperation" />
- </aop:config>
- </beans>
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。