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:context="http://www.springframework.org/schema/context"
 xmlns:aop="http://www.springframework.org/schema/aop"
 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/context
           http://www.springframework.org/schema/context/spring-context-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/tx
           http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
          
  <!-- 注解事务驱动 -->
  <tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true"/>
  <!--
   JTA是Sun公司提出的标准化分布式事务访问的Java接口规范。
   手动编码JTA
   Context context=new InitialContext();
   UserTransaction ut=(UserTransaction)context.lookup("javax.transaction.UserTransaction")
   ut.commit();
   ut.rollback();
   Java Transaction API(JTA)是一个独立于实现和协议的高级API,它使应用程序和应用服务器可以访问事务。
   JTA规范定义的只是一套Java接口定义,具体的实现留给了相应的提供商去实现,各Java EE应用服务器需要提供对JTA的支持。
   另外,除了可以使用绑定到各Java EE应用服务器的JTA实现之外,Java平台上也存在几个独立的并且比较成熟的JTA实现产品:
   1、JTA  2、Atomikos  3、JBoss Transactions
   Tomcat不支持JTA,所以使用Spring实现跨数据库事务管理
   JOTM(Java Open Transaction Manager)是一个由ObjectWeb组织开发的全功能的、开放源代码的单独事务管理器,并且完全兼容JTA(Java Transaction API)
  -->
  <bean id="jotm" class="org.springframework.transaction.jta.JotmFactoryBean"></bean>
  <!--JTA事务管理器-->
  <bean id="transactionManager" class="org.springframework.transaction.jta.JtaTransactionManager">
   <!-- 指定userTransaction属性引用JOTM本地实例 -->
   <property name="userTransaction" ref="jotm"/>
  </bean>
  <!--对应MySql数据库construct_bank的XAPool配置,内容包含了一XA数据源-->
  <bean id="constructDS" class="org.enhydra.jdbc.pool.StandardXAPoolDataSource">
   <property name="dataSource">
    <!--内部XA数据源 配置MySql数据库-->
    <bean class="org.enhydra.jdbc.standard.StandardXADataSource">
     <property name="transactionManager" ref="jotm"/>
     <property name="driverName" value="com.mysql.jdbc.Driver"/>
     <property name="url" value="jdbc:mysql://127.0.0.1:3306/construct_bank"/>
    </bean>
   </property>
   <property name="user" value="root"/>
   <property name="password" value="root"/>
   </bean>
   <bean id="sessionFactory_constructbank" class="org.springframework.hibernate3.LocalSessionFactoryBean">
    <property name="dataSource">
     <ref bean="constructDS"/>
    </property>
    <property name="hibernateProperties">
     <props>
      <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
      <prop key="hibernate.hbm2ddl.auto">update</prop>
      <prop key="hibernate.show_sql">true</prop>
      <prop key="hibernate.format_sql>true</prop>
     </props>
    </property>
    <property name="mappingResources">
     <list>
      <value>org/oneedu/pojo/User.hbm.xml</value>
      <value>org/oneedu/pojo/Card.hbm.xml</value>
     </list>
    </property>
   </bean>
   <bean id="businessDS" class="org.enhydra.jdbc.pool.StandardXAPoolDataSource">
    <property name="dataSource">
     <!--内部XA数据源 配置MySql数据源-->
     <bean class="org.enhydra.jdbc.standard.StandardXADataSource">
      <property name="transactionManager" ref="jotm"/>
      <property name="driverName" value="com.mysql.jdbc.Driver"/>
      <property name="url" value="jdbc:mysql://127.0.0.1:3306/business_bank"/>
     </bean>
    </property>
    <property name="user" value="root"/>
    <property name="password" value="root"/>
   </bean>
   <bean id="sessionFactory_businessbank" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    <property name="datasource">
     <ref bean="businessDS">
    </property>
    <property name="hibernateProperties">
     <props>
      <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
      <prop key="hibernate.hbm2ddl.auto">update</prop>
      <prop key="hibernate.show_sql">true</prop>
      <prop key="hibernate.format_sql">true</prop>
     <props>
    </property>
    <property name="mappingResources">
     <list>
      <value>org/oneedu/pojo/User2.hbm.xml</value>
      <value>org/oneedu/pojo/Card2.hbm.xml</value>
     </list>
    </property>
   </bean>
   <bean id="hibernateTemplate_constructbank" class="org.springframework.orm.hibernate3.HibernateTemplate">
    <property name="sessionFactory">
     <ref local="sessionFactory_Constructbank"/>
    </property>
   </bean>
   <bean id="hibernateTemplate_constructbank" class="org.springframework.orm.hibernate3.Hibernatetemplate">
    <property name="sessionFactory">
     <ref local="sessionFactory_businessbank"/>
    </property>
   </bean>
  </beans>
    
            

你可能感兴趣的:(jotm)