SpringBoot如何使用GTS
发表于:2025-11-09 作者:千家信息网编辑
千家信息网最后更新 2025年11月09日,这篇文章主要为大家展示了"SpringBoot如何使用GTS",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"SpringBoot如何使用GTS"这篇文章吧。
千家信息网最后更新 2025年11月09日SpringBoot如何使用GTS
这篇文章主要为大家展示了"SpringBoot如何使用GTS",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"SpringBoot如何使用GTS"这篇文章吧。
1. 依赖类库txc-client.jar, txt-client-spring-cloud-2.0.1.jar
2. 使用TxcDataSource代理源数据源【注意:dbcp2.BasicDataSource不支持,可以使用DruidDataSource】
3. 添加自动配置类文件
package com.bodytrack.restapi; import com.taobao.txc.client.aop.TxcTransactionScaner;import com.taobao.txc.client.boot.TxcSpringBootProperties;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;import org.springframework.boot.context.properties.EnableConfigurationProperties;import org.springframework.context.ApplicationContext;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.context.annotation.DependsOn; @Configuration@EnableConfigurationProperties({TxcSpringBootProperties.class})public class TxcSpringBootAutoConfiguration { @Autowired private TxcSpringBootProperties txcSpringBootProperties; @Autowired private ApplicationContext applicationContext; private static boolean isEmpty(String str) { return str == null || str.length() == 0; } @Bean(name = "txcScanner") @ConditionalOnProperty( prefix = "spring.boot.txc", name = {"txcServerGroup"} ) //定义声明式事务,要想让事务annotation感知的话,要在这里定义一下 public TxcTransactionScaner txcTransactionScaner() { String appName = this.txcSpringBootProperties.getTxcAppName() == null ? this.applicationContext.getEnvironment().getProperty("spring.application.name") : this.txcSpringBootProperties.getTxcAppName(); String txServiceGroup = this.txcSpringBootProperties.getTxcServerGroup(); int mode = this.txcSpringBootProperties.getMode() == 0 ? 1 : this.txcSpringBootProperties.getMode(); TxcTransactionScaner txcTransactionScanner = new TxcTransactionScaner(appName, txServiceGroup, mode, this.txcSpringBootProperties.getUrl()); if (!isEmpty(this.txcSpringBootProperties.getAccessKey())) { txcTransactionScanner.setAccessKey(this.txcSpringBootProperties.getAccessKey()); } if (!isEmpty(this.txcSpringBootProperties.getSecretKey())) { txcTransactionScanner.setSecretKey(this.txcSpringBootProperties.getSecretKey()); } return txcTransactionScanner; }}4. 添加GTS配置
spring: boot: txc: txcAppName: demo txcServerGroup: txc_test_public.1129361738553704.QD #公网测试的专用事务分组 url: https://test-cs-gts.aliyuncs.com #公网测试url accessKey: xxx #非测试时需提供 secretKey: xxxx #非测试时需提供
5. 发送rest请求时,请求添加header(TXC_XID,BEGIN_COUNT,COMMIT_COUNT)
public String callTestTxc() { HttpHeaders requestHeaders = new HttpHeaders(); requestHeaders.set("TXC_XID", String.valueOf(TxcContext.getCurrentXid())); requestHeaders.set("BEGIN_COUNT", String.valueOf(TxcContext.getBeginCount())); requestHeaders.set("COMMIT_COUNT", String.valueOf(TxcContext.getCommitCount())); HttpEntity entity = new HttpEntity<>("parameters", requestHeaders); String restUrl = String.format("%s/api/scoreService/testTxc", "http://10.0.0.5:8762"); ResponseEntity restData = restTemplate.exchange(restUrl, HttpMethod.GET, entity, String.class); return restData.toString(); } 6. 发起全局事务使用注解@TxcTransaction
以上是"SpringBoot如何使用GTS"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
事务
测试
内容
篇文章
公网
学习
帮助
配置
全局
数据
数据源
文件
易懂
更多
条理
注解
知识
编带
行业
资讯
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
厦门市行动软件开发有限公司
网络安全中国移动
1620v3 服务器内存
网络安全群文案
php登录的数据库语句
原始数据库一定要存放在()下
获客软件开发
forest服务器转移至大陆
黄陂计算机软件开发费用
lol比赛服务器怎么用
协作通信网络技术
软件开发工程师笔试题目
软件开发好招聘吗
gp数据库查看表空间命令
部署web应用服务器配置
数据库男女nchar
网络安全大赛为啥会有枪神
网络安全及网络文化知识答案
国家制定网络安全法的目的是
魔兽世界服务器资源
学习软件开发的电脑处理器
qr解析服务器维护
ctf江西网络安全大赛
gis地理数据库
键入网络安全密钥
芝罘区软件开发公司有哪些
数据库实操经验
金融网络安全法
潍坊物流报价软件开发
web服务器常见的安全问题