本文介紹使用 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>