https://www.oschina.net/p/openjtccByteTCC 详细介绍
ByteTCC是一个基于TCC(Try/Confirm/Cancel)机制的分布式事务管理器。兼容JTA,可以很好的与Spring容器进行集成。
一、快速入门
1.1. 加入maven依赖
<dependency>
<groupId>org.bytesoft</groupId>
<artifactId>bytetcc-supports</artifactId>
<version>0.3.0-RC4</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);
}
}
二、文档 & 样例
* 使用文档: https://github.com/liuyangming/ByteTCC/wiki
* 使用样例: https://github.com/liuyangming/ByteTCC-sample
三、ByteTCC特性
* 1、支持Spring容器的声明式事务管理;
* 2、支持普通事务、TCC事务、业务补偿型事务等事务机制;
* 3、支持多数据源、跨应用、跨服务器等分布式事务场景;
* 4、支持长事务;
* 5、支持dubbo服务框架;
四、历史版本
4.1. v0.1
* 地址:http://pan.baidu.com/s/1hq3ffxU
4.2. v0.1.2
* 地址:http://code.google.com/p/bytetcc
4.3. v0.2.0-alpha
* 地址:http://code.taobao.org/p/openjtcc
* 文档:http://code.taobao.org/p/openjtcc/wiki/index/
五、建议及改进
若您有任何建议,可以通过1)加入群537445956向群主提出,或2)发送邮件至bytefox@126.com向我反馈。本人承诺,任何建议都将会被认真考虑,优秀的建议将会被采用,但不保证一定会在当前版本中实现。
相关推荐
本文将深入探讨基于TCC机制的分布式事务管理器——ByteTCC。 ByteTCC是一个开源项目,其核心目标是实现一个高效且灵活的分布式事务管理器,它兼容Java Transaction API (JTA),这意味着它可以无缝地与各种企业级...
ByteTCC Transaction Manager旨在提供一个兼容JTA的基于TCC机制的分布式事务管理器。兼容JTA,可以很好的与EJB、Spring等容器(本文档下文说明中将以Spring容器为例)进行集成。
ByteTCC是基于Try-Confirm-Cancel(TCC)机制的分布式事务管理器的实现。 ByteTCC与JTA兼容,并且可以与Spring和其他Java容器无缝集成。 1.快速入门 1.1添加Maven依赖 1.1.1。 春云 < groupId>org.bytesoft ...
ByteTCC是基于Try-Confirm-Cancel(TCC)机制的分布式事务管理器的实现。 ByteTCC与JTA兼容,并且可以与Spring和其他Java容器无缝集成。 1.快速入门 1.1添加Maven依赖 1.1.1。 春云 < groupId>org.bytesoft ...
ByteTCC-master.zip是一个包含ByteTCC项目的压缩包,该项目是一个专注于分布式事务处理的解决方案。在深入探讨这个项目之前,我们需要理解分布式事务的基本概念。分布式事务是指跨越多个数据库或服务的事务,它需要...
LCN 提供的事务管理机制可以确保在分布式环境下的 MySQL 数据更新保持原子性和一致性。 3. **Redis**:Redis 是一个高性能的键值存储系统,常被用作缓存或消息队列。在 Dubbo-LCN-Demo 中,Redis 可能用于存储临时...
ByteJta,全称为Byte Transaction Manager,是一个轻量级的Java事务管理器,它实现了Java Transaction API (JTA)。JTA是Java平台上的标准事务处理API,允许开发者在不同资源之间进行全局事务管理,如数据库、消息...
在Java领域,JTCC(Java Transaction API Compliant Transaction Coordinator)是指符合Java事务API标准的事务协调器,它用于管理分布式事务的生命周期。openjtcc可能是这样一个开源实现,而bytetcc可能是它的别名或...