本文源自他人设计,作者戴神看到请包涵~~
JPA ?两段式提交? No !我们要的是简单、自由!框架的核心代码如类图。
注意:
如果失败策略为默认即抛出异常,则会被 TransactionManager 捕获并触发 rollback() 然后执行一系列的 undo() ;如果失败策略为重试,则异常将被 RetryFailStrategy 自己消化掉,到不了 TransactionManager 这里。
如何使用:
XXBiz
@Autowired
private TransactionManager transactionManager;
@Autowired
private FailStrategy defaultFailStrategy;
private void doSomething(final int id) {
transactionManager.doInTransaction(new TransactionCallback() {
@Override
public void doInTransaction(Transaction transaction) {
transaction.execute(new Operation1(id));
transaction.execute(new Operation2(id));
...
}
});
}
private class Operation1 implements Operation<Object> {
private final int id;
public Operation1(int id) {
this.id = id;
}
@Override
public Object doIt() {
// insert with id;
return null;
}
@Override
public void undo() {
// delete by id;
}
@Override
public FailStrategy getFailStrategy() {
return defaultFailStrategy;
}
}
- 大小: 53.6 KB
分享到:
相关推荐
javaWeb实现事务1
AOP事务实现 C#实现事务代码 摘自网络
自己封装redisson方法,同时通过注解的方式加入redis分布式事务锁,可靠。
Spring2.5实现事务管理(本地事务、分布式事务).doc
最近想给我的框架加一种功能,就是比如给一个方法加一个事务的特性Attribute,那这个方法就会启用事务处理。给一个方法加一个缓存特性,那这个方法就会进行缓存。 这个也是网上说的面向切面编程AOP。 AOP的概念也很...
spring事务的底层实现流程图 spring事务的底层实现流程图 spring事务的底层实现流程图 spring事务的底层实现流程图 spring事务的底层实现流程图 spring事务的底层实现流程图 spring事务的底层实现流程图 spring事务...
介绍事务的基本知识,了解事务,附件包含实现事务机制的相关的代码。
演示了spring基于AOP代理TransactionProxyFactoryBean实现事务
演示了spring编程式事务的实现,通过TransactionTemplate模板进行事务控制
这是一个使用命令模式自行实现的事务补偿机制,用于跨平台多原子服务协调调用异常时的逆向操作。
Xml文件配置实现声明式事务管理 Xml文件配置实现声明式事务管理
该Demo实现的是一个Web项目下操作两个数据库,实现分布式事务
这个是最新的版本,之前那个上传的资源不完善,请不要下载。这是一个使用命令模式自行实现的事务补偿机制,用于跨平台多原子服务协调调用异常时的逆向操作。
班级事务-班级事务系统-班级事务系统源码-班级事务管理系统-班级事务管理系统java代码-班级事务系统设计与实现-基于ssm的班级事务系统-基于Web的班级事务系统设计与实现-班级事务网站-班级事务网站代码-班级事务平台...
在JDBC中,打开一个连接对象Connection时,缺省是auto-commit模式,每个SQL语句都被当作一个事务,即每次执行一个语句,都会自动的得到事务确认。为了能将多个SQL语句组合成一个事务,要将auto-commit模式屏蔽掉。在...
自己写的一个java示例 该示例用jdbc与java事务来实现DAO层的各个DAO的各方法之间的事务关联 使上层可以保证各数据访问的原子性 该示例包含了一个方便调用的数据库访问工具类,该工具类实现了调用SQL语句,调用...
对于Transaction 管理 为了实现数据一致性,对于数据库的JDBC编程通常需要在代码中显示的调用Connection方法的事务相关API来完成工作。
多服务器实现分布式事务功能! 安装DTC组件,设置MSDTC,注意:双方都要启动MSDTC服务,MSDTC服务依赖于RPC(Remote Procedure Call (RPC))服务,RPC使用135端口,保证RPC服务启动,如果服务器有防火墙,保证135...
Spring Boot+Druid+Mybatis实现JTA分布式事务