
事务相关
yypiao
这个作者很懒,什么都没留下…
展开
-
Spring注解方式管理事务以及事务传播行为Propagation
使用@Transactional注解声明Bean底下所有业务方法需要事务管理。 1.默认一个业务方法开启和结束事务,什么时候提交,什么时候回滚呢? Spring容器默认情况下对于运行期异常(unchecked Exception)会进行事务回滚,如果是用户违例(checked Exception),事务不会回滚。 运行期违例:throw new RuntimeException("XXX")...原创 2012-05-03 15:19:50 · 128 阅读 · 0 评论 -
乐观锁使用经验一则
假设需要用乐观锁来实现一个物品数量增减操作的原子性,可以这样子做:(框架使用spring和hibernate) Java代码 @Entity @Table(name="tbl_gift") public class Gift { ... //乐观锁 @Version private Long ve...原创 2012-05-03 15:32:19 · 98 阅读 · 0 评论 -
事务隔离级别及锁代替方案概述
[b]目的[/b] 在数据库操作中,为了有效保证并发读取数据的正确性,提出的事务隔离级别。 问题的提出 数据库是要被广大客户所共享访问的,那么在数据库操作过程中很 事务隔离级别可能出现以下几种不确定情况。 更新丢失(Lost update) 两个事务都同时更新一行数据,但是第二个事务却中途失败退出,导致对数据的两个修改都失效了。这是因为系统没有执行任何的锁操作,因此并发事务...原创 2012-05-04 11:09:22 · 134 阅读 · 0 评论 -
Web开发必知的八种隔离级别
ACID性质是数据库理论中的奠基石,它定义了一个理论上可靠数据库所必须具备的四个性质:原子性,一致性,隔离性和持久性。虽然这四个性质都很重要,但是隔离性最为灵活。大部分数据库都提供了一些可供选择的隔离级别,且现在许多库都增加了附加层来创建颗粒度更细的隔离。隔离级别应用范围如此之广主要是因为放宽隔离约束往往会使得可扩展性和性能提高几个数量级。 相关厂商内容 保持某些系统的高可用性,是...原创 2012-05-04 11:37:37 · 82 阅读 · 0 评论 -
如何用消息系统避免分布式事务?
<转自http://blog.jobbole.com/89140/> 前阵子从支付宝转账1万块钱到余额宝,这是日常生活的一件普通小事,但作为互联网研发人员的职业病,我就思考支付宝扣除1万之后,如果系统挂掉怎么办,这时余额宝账户并没有增加1万,数据就会出现不一致状况了。 上述场景在各个类型的系统中都能找到相似影子,比如在电商系统中,当有用户下单后,除了在订单表插入一条记录外,对应商...原创 2017-03-02 12:17:39 · 95 阅读 · 0 评论 -
XA事务处理
XA协议由Tuxedo首先提出的,并交给X/Open组织,作为资源管理器(数据库)与事务管理器的接口标准。目前,Oracle、Informix、DB2和Sybase等各大数据库厂家都提供对XA的支持。XA协议采用两阶段提交方式来管理分布式事务。XA接口提供资源管理器与事务管理器之间进行通信的标准接口。XA协议包括两套函数,以xa_开头的及以ax_开头的。 简介 编辑 取决于上下...原创 2017-03-02 16:22:29 · 459 阅读 · 0 评论 -
如何实现XA式、非XA式Spring分布式事务
<转自http://www.open-open.com/lib/view/open1429863503010.html> Spring应用的几种事务处理机制 Java Transaction API和XA协议是Spring常用的分布式事务机制,不过你可以选择选择其他的实现方式。理想的实现取决于你的应用程序使用何种资源,你愿意在性能、安全、系统稳健性、数据完整方面做出何种权衡。在...原创 2017-03-05 10:50:47 · 284 阅读 · 0 评论