当前位置: 代码迷 >> Java Web开发 >> JOTM配置难题,跪求懂JOTM大神来解决一下解决方法
  详细解决方案

JOTM配置难题,跪求懂JOTM大神来解决一下解决方法

热度:125   发布时间:2016-04-17 00:10:51.0
JOTM配置难题,跪求懂JOTM大神来解决一下
各位大神,小弟最近配置分布式事务,打算采用JOTM来管理。在网上学习了一下,初步配置如下,结果出现了异常,望大大们指点小弟。。
XML code
<bean id="jotm" class="org.springframework.transaction.jta.JotmFactoryBean"/>     <bean id="transactionManager" class="org.springframework.transaction.jta.JtaTransactionManager">          <property name="userTransaction"><ref local="jotm"/></property>    </bean>        <bean id="mysqlDataSource1" class="org.enhydra.jdbc.standard.StandardXADataSource" destroy-method="shutdown">        <property name="transactionManager"><ref local="jotm"/></property>        <property name="driverName"><value>com.mysql.jdbc.Driver</value></property>        <property name="url"><value>jdbc:mysql://localhost:3306/emp_mvc</value></property>        <property name="user" value="root"/>          <property name="password" value="123456"/>     </bean>            <bean id="dataSource1" class="org.enhydra.jdbc.pool.StandardXAPoolDataSource" destroy-method="shutdown">        <property name="dataSource"><ref local="mysqlDataSource1"/></property>        <property name="maxSize"><value>5</value></property>        <property name="minSize"><value>2</value></property>        <property name="user"><value>root</value></property>        <property name="password"><value>123456</value></property>    </bean>        <bean id="mysqlDataSource2" class="org.enhydra.jdbc.standard.StandardXADataSource" destroy-method="shutdown">        <property name="transactionManager"><ref local="jotm"/></property>        <property name="driverName"><value>com.mysql.jdbc.Driver</value></property>        <property name="url"><value>jdbc:mysql://localhost:3306/emp_mvc2</value></property>        <property name="user" value="root"/>          <property name="password" value="123456"/>     </bean>            <bean id="dataSource2" class="org.enhydra.jdbc.pool.StandardXAPoolDataSource" destroy-method="shutdown">        <property name="dataSource"><ref local="mysqlDataSource2"/></property>        <property name="maxSize"><value>5</value></property>        <property name="minSize"><value>2</value></property>        <property name="user"><value>root</value></property>        <property name="password"><value>123456</value></property>    </bean>          <bean id="sessionFactory1" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">         <property name="dataSource" ref="dataSource1"/>         <property name="mappingResources">            <list>              <value>com/ouku/JOTM/entity/Emp.hbm.xml</value>            </list>         </property>         <property name="hibernateProperties">            <props>                <prop key="hibernate.dialect">org.hibernate.dialect.SybaseDialect</prop>                <prop key="hibernate.show_sql">true</prop>                 <prop key="hibernate.connection.pool_size">0</prop>                <prop key="hibernate.connection.shutdown">true</prop>                 <prop key="hibernate.autocommit">false</prop>                <prop key="hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</prop>                <prop key="transaction.manager_lookup_class">org.hibernate.transaction.JOTMTransactionManagerLookup</prop>            </props>         </property>         <property name="jtaTransactionManager">              <ref bean="jotm" />           </property>    </bean>        <bean id="sessionFactory2" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">         <property name="dataSource" ref="dataSource2"/>         <property name="mappingResources">            <list>              <value>com/ouku/JOTM/entity/Emp2.hbm.xml</value>            </list>         </property>         <property name="hibernateProperties">            <props>                <prop key="hibernate.dialect">org.hibernate.dialect.SybaseDialect</prop>                <prop key="hibernate.show_sql">true</prop>                 <prop key="hibernate.connection.pool_size">0</prop>                <prop key="hibernate.connection.shutdown">true</prop>                 <prop key="hibernate.autocommit">false</prop>                <prop key="hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</prop>                <prop key="transaction.manager_lookup_class">org.hibernate.transaction.JOTMTransactionManagerLookup</prop>            </props>         </property>         <property name="jtaTransactionManager">              <ref bean="jotm" />           </property>    </bean>         <bean id="abstractTransactionProxy" abstract="true"          class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">        <property name="transactionManager">            <ref bean="transactionManager"/>        </property>        <property name="transactionAttributeSource">            <bean class="org.springframework.transaction.annotation.AnnotationTransactionAttributeSource"/>        </property>    </bean>        <!--    <bean id="hqlExecutor1" class="com.vtradex.edi.example.util.HqlExecutor" >        <property name="sessionFactory" ref="mySessionFactory"/>     </bean>         <bean id="hqlExecutor2" class="com.vtradex.edi.example.util.HqlExecutor" >        <property name="sessionFactory" ref="mySessionFactory2"/>    </bean>      -->            <!-- 配置事务的传播性 哪些方法使用事务-->    <tx:advice id="txAdvice" transaction-manager="transactionManager">        <tx:attributes>        <tx:method name="add*" propagation="REQUIRED"/>        <tx:method name="edit*" propagation="REQUIRED"/>        <tx:method name="del*" propagation="REQUIRED"/>        <tx:method name="*" read-only="true"/>        </tx:attributes>    </tx:advice>    <!-- 事务配置到biz层,而不配置到dao层 -->    <!-- AOP配置  配置事务的执行范围-->    <aop:config>    <aop:pointcut id="managersMethod" expression="execution(* com.ouku.JOTM.biz.*.*(..))"/>    <aop:advisor advice-ref="txAdvice" pointcut-ref="managersMethod"/>    </aop:config>                <!-- 配置dao层 -->    <bean id="empDAO" class="com.ouku.JOTM.DAO.EmpDAO">        <property name="sessionFactory1" ref="sessionFactory1"></property>    </bean>        <bean id="emp2DAO" class="com.ouku.JOTM.DAO.Emp2DAO">        <property name="sessionFactory2" ref="sessionFactory2"></property>    </bean>            <bean id="empBiz" class="com.ouku.JOTM.biz.EmpBiz">        <property name="empdao" ref="empDAO"></property>        <property name="emp2dao" ref="emp2DAO"></property>    </bean>
  相关解决方案