迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:ByteTCC开源软件地址:https://gitee.com/bytesoft/ByteTCC开源软件介绍:ByteTCC是一个基于TCC(Try/Confirm/Cancel)机制的分布式事务管理器。兼容JTA,可以很好的与EJB、Spring等容器(本文档下文说明中将以Spring容器为例)进行集成。 一、快速入门1.1. 加入maven依赖1.1.1. 使用Spring Cloud<dependency> <groupId>org.bytesoft</groupId> <artifactId>bytetcc-supports-springcloud</artifactId> <version>0.5.10</version></dependency> 1.1.2. 使用dubbo<dependency> <groupId>org.bytesoft</groupId> <artifactId>bytetcc-supports-dubbo</artifactId> <version>0.5.10</version></dependency> 1.2. 编写业务服务@Service("accountService")@Compensable( interfaceClass = IAccountService.class , confirmableKey = "accountServiceConfirm", cancellableKey = "accountServiceCancel")public class AccountServiceImpl implements IAccountService { @Resource(name = "jdbcTemplate") private JdbcTemplate jdbcTemplate; @Transactional public void increaseAmount(String accountId, double amount) throws ServiceException { this.jdbcTemplate.update("update tb_account set frozen = frozen + ? where acct_id = ?", amount, acctId); }} 1.3. 编写confirm服务@Service("accountServiceConfirm")public class AccountServiceConfirm implements IAccountService { @Resource(name = "jdbcTemplate") private JdbcTemplate jdbcTemplate; @Transactional public void increaseAmount(String accountId, double amount) throws ServiceException { this.jdbcTemplate.update("update tb_account set amount = amount + ?, frozen = frozen - ? where acct_id = ?", amount, amount, acctId); }} 1.4. 编写cancel服务@Service("accountServiceCancel")public class AccountServiceCancel implements IAccountService { @Resource(name = "jdbcTemplate") private JdbcTemplate jdbcTemplate; @Transactional public void increaseAmount(String accountId, double amount) throws ServiceException { this.jdbcTemplate.update("update tb_account set frozen = frozen - ? where acct_id = ?", amount, acctId); }} 二、文档 & 样例
三、ByteTCC特性
四、历史版本4.1. v0.3.x4.2. v0.2.0-alpha4.3. v0.1.24.4. v0.1五、建议及改进若您有任何建议,可以通过1)加入qq群537445956/606453172/383515467向群主提出,或2)发送邮件至bytefox#126.com向我反馈。本人承诺,任何建议都将会被认真考虑,优秀的建议将会被采用,但不保证一定会在当前版本中实现。 ![]() |
请发表评论