transaction
文章平均质量分 67
iteye_6401
这个作者很懒,什么都没留下…
展开
-
一个多用户并发引起的丢失更新的实例
查询操作不用做事务处理或者不用加锁,以前一直比较同意,今天遇到一个实际的问题,原来这种想法是错误的.项目中遇到一个用户资金扣除出错的问题:系统采用了quartz来做定时任务的处理,在某个时间点,自动对用户购买方案进行扣款,通过对日志的跟踪发现:当用户购买了多个方案时,有时用户可用资金会出错。要实现的功能:查询用户的可用资金,然后扣款。假设用户w当前可用资金为1000元,...2007-12-25 16:13:16 · 190 阅读 · 0 评论 -
service层方法相互调用及事务处理的思路及解决
service层多个方法中包含相同的业务逻辑是一种很常见的现场,通常会遇到如下几个问题:1.怎样合理的抽象出公共的业务逻辑?2.怎样处理service层中方法之间的调用?3.怎样处理这些方法的事务? 下面是我个人的处理方式,仅供参考。由于实现比较简单,所以相关说明较少。 代码示例:public void serviceMehtod1(){ dao.insert(); .......2009-01-12 14:20:40 · 2613 阅读 · 0 评论 -
分布式事务、XA事务、两阶段提交
在谈到 XA 规范之前,必须首先了解分布式事务处理( Distributed Transaction Processing , DTP )的概念。 Transaction ,即事务,又称之为交易,指一个程序或程序段,在一个或多个资源如 数据库 或文件上为完成某些功能的执行过程的集合。 分布式事务处理是指一个事务可能涉及多个数据库操作,分布式事务处理的关键是必须有一种方法可以知道事务在任何...原创 2009-01-13 14:40:06 · 204 阅读 · 0 评论 -
实战事务处理-适用于使用hibernate作持久层的系统
遗留系统采用了struts和hibernate,层次划分是很常见的表现层、service层、DAO层。 目前遗留系统有个事务处理的问题。代码在事务处理上面不统一:有的放在DAO层,有的在service层,各位看官肯定要说,这都没有统一吗,简直一堆狗屎。不错,我也觉得臭的受不了,所以采用了个简单的办法,真的很简单,呵呵。 其实如果事务处理的合理,事务处理放在哪一层倒是都可以。对于划分出服务层...2008-08-05 18:28:09 · 100 阅读 · 0 评论 -
分布式事务介绍
第一阶段开始时,向此事务涉及到的全部资源发送提交前信息。此时,事务涉及到的资源还有最后一次机会来回滚事务。如果任意一个资源决定回滚事务,那么整个事务将被取消。否则,事务会被提交。第二阶段只是在第一阶段没有回滚时才会发生。在这个阶段,所有的能被定位和单独控制的资源都将真正的更新。例如,如果从 JMS 队列中删除一个消息,并且随后更新数据库中基于这条消息的纪录,这时,要保证这两个操作的原子性。不应该...原创 2008-10-02 09:05:44 · 98 阅读 · 0 评论 -
事务管理最佳实践全面解析
前言写作这篇文章的起因,是前一段时间,我使用Jbpm工作流引擎开发工作流管理系统的过程中,使用编程方式管理事务时遇到的问题。由于之前很长一段时间,我一直都在使用Spring和EJB容器的声明式事务管理,因此,咋一遇到Jbpm这样的编程方式管理事务的情况,一下子搞不定了!经过几天的研究,我重新思考了怎样进行事务管理这个问题,并且发明了一种非常好的编程范式,或者说是事务管理的最佳实践。不敢独享...原创 2008-10-02 11:09:07 · 97 阅读 · 0 评论 -
怎样消除多事务并发问题?
多事务并发,大家在实际的项目或者产品开发过程中会常常遇到。 在开发过程中,如果业务中有必须唯一性的业务单元,例如:消息ID,订单ID等,这时开发人员就需要考虑:多事务并发时,会不会产生错误的执行结果,对具体问题具体分析,进而得到合理的解决方案。 我在项目中遇到过多个多用户并发的问题,顺便对Oracle中for update做下测试。以下是在oracle10下的测试结果。 ...2008-11-10 14:04:11 · 117 阅读 · 0 评论