TXC for MQ 快速入門__TXC for MQ_消息隊列 MQ-阿裏雲
本文介紹在 MQ 裏使用 TXC 的具體步驟和注意事項。
1. 登陸控製台
從瀏覽器中訪問 MQ 控製台, 建議使用 Chrome 瀏覽器獲得最佳體驗。
2. 創建並申請事務分組
在控製台左側菜單選擇事務總覽,創建事務分組,輸入自定義的事務分組名稱創建事務分組。
剛創建的事務分組處於等待狀態,這時 TXC 管理人員會在後台幫您關聯一個可用的 TXC 集群,開通後的分組顯示為開通狀態。這個唯一事務分組號(例如: test111.1325460969176422.BJ)是客戶端 TXC 配置 Scanner 中的必要參數。
3. 創建 MQ 應用
下載 TXC SDK,並參考 MQ 快速入門創建客戶端和服務端應用。
(1) 創建基於 TXC 的 MQ Producer
Spring 配置文件中需要指定 MTRelationShipManager, mtBranchInterceptor, mtServicesClassList, TxcMQProducerImpl 這些 bean 並建立關聯。
注意: MTRelationShipManager 一定要先於 TxcTransactionScaner 進行聲明。
<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 name="proxyTargetClass" value="false"/>
</bean>
Spring 配置文件中需要指定使用的事務分組名稱, AK 以及 SK,如:
<bean class="com.taobao.txc.client.aop.TxcTransactionScaner">
<constructor-arg value="test111.1325460969176422.BJ"/>
<accessKey>xxx</accessKey>
<secretKey>xxx</secretKey>
</bean>
在參與 TXC 事務的業務方法 Bean 中添加 TXC 注解,如:
@TxcTransaction(appName = "myapp")
public void hello() {
...
}
並將帶有 TXC 注解的業務 Bean 聲明在 Spring 配置文件中,如:
<bean id="bussiness" class="com.taobao.txc.tests.Client" init-method="init"/>
添加 MtBranchInterceptor, TxcMQProducerImpl 並建立關聯關係。
<bean id="mtBranchInterceptor" class="com.taobao.txc.resourcemanager.mt.MtBranchInterceptor"/>
<bean id="mtServicesClassList" class="org.springframework.beans.factory.config.ListFactoryBean">
<property name="sourceList">
<list>
<value>com.taobao.txc.rm.mq.TxcMQProducer</value>
</list>
</property>
</bean>
<bean id="txc_mq_producer" class="com.taobao.txc.rm.mq.TxcMQProducerImpl">
<constructor-arg name="ProducerId" value="PID_txc_mq_prod_test"/>
<constructor-arg name="AccessKey" value="xxxx"/>
<constructor-arg name="SecretKey" value="xxxx"/>
</bean>
說明: Producer ID 為 MQ 產品中申請的發送者標識,具體請參考 MQ 控製台。
注意: AccessKey 為阿裏雲賬戶的 AK,SecretKey 為阿裏雲賬戶的 SK,可以在阿裏雲用戶中心查詢。
客戶端 classpath 需要添加 TXC MQ SDK 的包。
(2) 創建 MQ Consumer
使用 MQ SDK 創建標準 Consumer,具體請參考 MQ 相關 SDK 接入文檔。
其他 MQ 開發包的依賴請參考 MQ 的開發文檔。
4. 部署並啟動應用
在 ECS 服務器上運行使用 TXC 的 MQ 應用,當 MQ Producer 在 TXC 注解了的函數範圍內時,該 MQ 將和該函數範圍內的多個數據源中的數據會保持強一致,保證了數據庫操作與消息發送的分布式事務,數據庫操作提交,則消息一定發送成功;數據庫操作回滾,則消息一定不會被發送出去。
說明:TXC for MQ 代碼樣例,包含 TXC 案例、TXC+MQ 案例、TXC+MQ+EDAS 案例。
最後更新:2016-11-23 16:04:17
上一篇:
狀態不一致___異常類別_產品使用問題_消息隊列 MQ-阿裏雲
下一篇:
TXC for MQ 樣例工程__TXC for MQ_消息隊列 MQ-阿裏雲
常見錯誤說明__附錄_大數據計算服務-阿裏雲
發送短信接口__API使用手冊_短信服務-阿裏雲
接口文檔__Android_安全組件教程_移動安全-阿裏雲
運營商錯誤碼(聯通)__常見問題_短信服務-阿裏雲
設置短信模板__使用手冊_短信服務-阿裏雲
OSS 權限問題及排查__常見錯誤及排除_最佳實踐_對象存儲 OSS-阿裏雲
消息通知__操作指南_批量計算-阿裏雲
設備端快速接入(MQTT)__快速開始_阿裏雲物聯網套件-阿裏雲
查詢API調用流量數據__API管理相關接口_API_API 網關-阿裏雲
使用STS訪問__JavaScript-SDK_SDK 參考_對象存儲 OSS-阿裏雲