阅读:4985回复:0
HKDAS分布式事务开发
1.配置文件
配置入口文件是application.conf,目前还不能指定该配置文件,所以配置文件名称只能为application.conf。配置示例如下: 图片:799XJ6]LK{PKC9UACY{I6V0.png transport部分的配置对应NettyServerConfig类,用于定义Netty相关的参数。事务管理者(TM)、资源管理者(RM)与事务协调者(TC)之间使用Netty进行通信 service { #vgroup->rgroup vgroup_mapping.my_test_tx_group = "default" #配置Client连接TC(事务协调者)的地址 default.grouplist = "127.0.0.1:8091" #degrade current not support enableDegrade = false #disable 是否启用分布式事务 disableGlobalTransaction = false } 2.事务协调者 要使用HKDAS的分布式事务功能,需要在原来的基础之上启动 hearken-das-transaction-coordinator 模块,该模块不需要任何配置,只用 执行com.sunsheen.jfids.das.server中的main方法即可。 3.开启一个全局事务 在需要开启全局事务的方法上添加注解@GlobalTransactional (com.sunsheen.jfids.das.core.annotation.GlobalTransactional),并在需要使用该方法时,通过<Test> Test com.sunsheen.jfids.das.core.context.ServiceContexts.beginGlobalTransactional(String applicationId, String txServiceGroup, Class<Test> clazz) 返回包含该方法的类实例。如图所示: 图片:T3TCR(1A1QCCDVO8WV)_@TJ.png 该方法的第一个参数表示应用id,第二个参数表示事务组名称。 3.数据源代理 在分布事务中使用的数据源必须指定代理,目前数据源只能基于DruidDataSource,以后将支持任意数据源类型。数据源代理指定示例如下 图片:QQ截图20190423170112.png 4.资源管理客户端初始化 在应用启动后需要执行以下静态方法,对资源管理客户端进行初始化。第一个参数为应用id,第二个参数为事务组名称。 void com.alibaba.fescar.rm.RMClientAT.init(String applicationId, String transactionServiceGroup) [翁超凡于2019-04-25 11:23编辑了帖子]
|
|
最新喜欢:何万里 |