本文介紹使用 TCC 模式接入 GTS 時的注意事項。

開啟 TCC 模式

單獨使用 TCC 模式時,需要開啟 TCC 模式。

<bean class="com.taobao.txc.client.aop.TxcTransactionScaner">
     <constructor-arg value="gtstest.123213123.HZ"/>
     <!-- 1:AT 2:MT 3:AT&MT -->
     <constructor-arg value="2"/>
</bean>         

GTS 對 MQ 事務消息納入全局事務管理的支持是通過 TCC 模式實現的。 所以,使用 AT 模式的同時,又需要把 MQ 事務消息納入全局事務管理時,就需要同時開啟 AT 和 TCC 模式的配置 。

<bean class="com.taobao.txc.client.aop.TxcTransactionScaner">
     <constructor-arg value="gtstest.123213123.HZ"/>
     <!-- 1:AT 2:MT 3:AT&MT -->
     <constructor-arg value="3"/>
</bean>           

在 GTS 中使用 MQ 時,MTRelationShipManager 一定要先于 TxcTransactionScaner 進行聲明

說明 非 XML 配置方式的應用,可以忽略該注意事項。
<!-- 先實例化MTRelationShipManager -->
<bean class="com.taobao.txc.client.aop.MTRelationShipManager">
     <property name="beanNames" ref="mtServicesClassList" />
     <property name="interceptorNames">
         <list>
             <value>mtBranchInterceptor</value>
         </list>
     </property>
     <property name="order" value="1"></property>
     <property name="proxyTargetClass" value="false">
     </property>
</bean>

<!-- 再實例化TxcTransactionScaner -->
<bean class="com.taobao.txc.client.aop.TxcTransactionScaner">
     <constructor-arg value="gtstest.123213123.HZ"/>
     <!-- 1:AT 2:MT 3:AT&MT -->
     <constructor-arg value="3"/>
</bean>