SpringBoot如何使用GTS
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,这篇文章主要为大家展示了"SpringBoot如何使用GTS",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"SpringBoot如何使用GTS"这篇文章吧。
千家信息网最后更新 2025年01月19日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())); HttpEntityentity = 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安全错误
数据库的锁怎样保障安全
南阳金蝶销售软件开发
华为网络技术期中考试A卷
财政局网络安全责任书
回收服务器一般往哪卖
中国互联网科技行业投资
畅捷链接服务器失败什么原因
ecu软件开发平台
河南率臣网络技术有限公司
ipfs存储服务器托管中心行情
国家电网网络安全灾备中心
软件开发职业目标完整最新版
网牛互联网科技有限责任公司
数据库实例名称如何打开
将网页部署到服务器上
华为软件开发是哪个部门
第七个全民网络安全宣传周
服务器型式安装软件
阿里云服务器怎么管理后台
请大家搜索数据库搜索
金歌网络安全产品销售年终总结
联想服务器怎么进管理页面
369小说软件开发
数据库用什么存储模型
战地1亚洲服务器
医院的等保是哪些服务器
如何利用网络技术平台革新
nasdiy服务器
系统的网络安全防护措施
服务器数据库无法访问
0基础学电脑软件开发