Comments (3)
这是一个业务问题,框架只负责补偿操作成功执行。
如果你想要通过补偿 回滚的内容 会由于被其他操作修改过而无法正确补偿的话,那么它就不是一个可补偿的业务场景。考虑调整业务以允许补偿,或者考虑调整成TCC
from easytransaction.
除了查询以外,大多数涉及到增删改的操作都有这个问题吧
个人理解:除非服务端实现版本控制(补偿操作时,发现要回滚的内容已经被修改,那就报错,人工处理),否则补偿型事务是有问题的
from easytransaction.
框架肯定是不知道,也没办法知道 你的业务记录有没有被修改。
然后,框架保证的是你的 补偿方法只被执行一遍,如果没有成功执行(抛出乐观锁等异常)那么框架会重试执行
所以当你的补偿业务程序遇到这些乐观锁之类的问题时,直接抛异常就可以了
from easytransaction.
Related Issues (20)
- 有计划支持dubbo2.7吗? HOT 1
- 请问有具体的sample吗?感觉不容易上手使用?建议作者以后可以提供使用文档。谢谢。 HOT 1
- 对框架幂等疑问? HOT 2
- ons异步消息有非侵入式写法的demo吗?
- 建议
- TCC方案实现的话是否可以考虑下websocket HOT 1
- EtReliableMsgAnnotationBusinessProviderBuilder 和 EtBestEffortMsgAnnotationBusinessProviderBuilder执行consume,永远返回EasyTransConsumeAction.CommitMessage,这是不是有问题? HOT 1
- EasyTransMsgInitializer 消息消费,如果业务代码抛异常,框架代码空指针问题 HOT 1
- DatabaseSnowFlakeIdGenerator has something wrong? HOT 2
- HikariDataSource (HikariPool-1) is not DataSourceProxy, please correct the config! HOT 2
- 用tcc-and-fescar这个demo并发测试同一个请求,锁表fescar_lock主键冲突。 HOT 3
- Dependency conflicts on org.ow2.asm:asm, leading to invoking unexpected methods HOT 1
- 现在这个框架可以整合mybatis吗? HOT 1
- 请问下如果某个分支服务异常,但是使用kafka消息队列的服务不能回滚?请教下采用kafka消息队列的这个服务怎么才能回滚? HOT 2
- ET感觉太难入门了,希望出几篇文章介绍源码
- 同一个服务多个数据源事务一致性问题
- Demo
- 能否升级支持一下springboot 2.X
- 请教:这个EasyTransaction能够支持微软的SQL Server吗
- ET集成Seata AT模式时,EtDataSourceManager类获取不到DataSourceProxy
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from easytransaction.