0 0

这个业务逻辑中的事务将如何控制?3

情景描述:

有一个材料表(TbeA),包括某类材料个数,材料名称等;
如:水晶头,个数为20个

有一个材料使用表(TbeB):包括使用某个申请单用到的材料如:
工单001,使用材料名称为水晶头的材料,使用个数为5个

那么有个可有材料的查询结果为:
其中有一条记录为:

水晶头,可用个数为15个



那么现在有a, b两个人因为维修设备的原因需要领取材料(水晶头)
其中a,需要领取8个水晶头,
b需要领取4个水晶头

但是a,b两个人可能同时打开领取的界面,这时他们都要领取材料水晶头;
在表单上要填写领取的数量,a填写8个,b填写4个,
填写的过程中要进行领取数量的校验;校验准则是:

填写的领取材料的数字不能大于水晶头的可用数量(20-5)=15,即首先填写的人要<=15
但是如果两个人都同时打开界面,读取到的可用数量都是15,而如果a通过填写领取了8个,并提交了表单。
则:可用数量就只剩下7个了;

可:b界面上(如果不刷新)则仍然显示的是15而不是8个,这样在填写领用数量的时候就会出错;因为此时还是校验的15而不是8
这种情况怎么办呢?

通过文本框填写的blue事件,可以通过异步获取到最新的可用数,但是如果当a在通过读取数据表中的可用数量后,b此时领用了4个,那么这个时候a获取的可用数量又不对了,应该是11个而不是15了。

我的这种推断是否合理?
如果通过事务控制将如何处理?还请各位指点

后台用spring及oracle,该如何设置?
2012年5月11日 19:57

1个答案 按时间排序 按投票排序

0 0

这种情况可以在提交时候先查一次后台数据,如果他的领取数>可用数就提示剩余领取数
然后把页面的剩余领取数刷新~

2012年5月17日 14:51

相关推荐

    【分布式事务----LCN】LCN原理及使用方式.docx

    TCC事务机制相对于传统事务机制(X/Open XA Two-Phase-Commit),其特征在于它不依赖资源管理器(RM)对XA的支持,而是通过对(由业务系统提供的)业务逻辑的调度来实现分布式事务。主要由三步操作,Try: 尝试执行业务...

    面向方面编程AOP

    主要的意图是:将日志记录,性能统计,安全控制,事务处理,异常处理等代码从业务逻辑代码中划分出来,通过对这些行为的分离,我们希望可以将它们独立到非指导业务逻辑的方法中,进而改变这些行为的时候不影响业务...

    Spring基础与快速入门

    5 AOP:面向方面编程,我们可以把日志、安全、事务管理等服务(或功能)理解成一个“方面”,那么以前这些服务一直是直接写在业务逻辑的代码当中的,这有两点不好;首先业务逻辑不纯净,其次这些服务被很多业务逻辑...

    java 实现AOP

    它的主要意图就要将日志记录,性能统计,安全控制等等代码从商业逻辑代码中清楚的划分出来,我们可以把这些行为一个一个单独看作系统所要解决的问题,就是所谓的面向问题的编程(不知将AOP译作面向问题的编程是否欠妥...

    JAVA中spring介绍.docx

    Spring框架介绍: Spring是一个开源的Java框架,用于构建...利用Spring的AOP功能,可以将与业务逻辑无关的横切关注点(如日志、事务、安全性等)从业务逻辑中分离出来,提高代码的模块化和可维护性。 简化数据库访问:

    图书管理系统(struts+hibernate+spring).rar

    在这个资料包中,用户将会找到一个基于这三个框架的图书管理系统的完整源代码,包括了前端页面、控制器、业务逻辑层、数据访问层以及配置文件等。通过阅读和分析这些源码,用户可以学习到如何使用Struts处理用户请求...

    理解JCA事务

    业务要求把现有企业信息系统(EIS)(比如客户信息控制系统(CICS)、信息管理系统(IMS)或SAP)中的现有业务逻辑与数据集成在一起。关键的业务事务经常是用Cobol或C这样的过程性语言编写的。J2EE?平台平台中有一个...

    JavaEE AOP源码

    在JavaEE中最常见的莫过于事务控制, 使得程序员只需关注核心业务逻辑,而无需关注事务相反非业务而又必须要的代码。 切面的主要组件有: 1、切面(@Aspect)。 2、切点(@Pointcut)、 3、通知方法(@Advise),...

    Java学习资料-Spring Boot - 结合 Redis 使用 Lua脚本

    复杂业务逻辑:对于复杂的业务逻辑,使用 Lua 脚本可以简化代码,提高可读性和可维护性。 事务处理:使用 Lua 脚本可以实现事务处理,保证数据的一致性和完整性。 限流、熔断等控制:使用 Lua 脚本可以实现一些控制...

    java面试题自己总结的ssh较多

    Jsp有html和jsp标签构成,可以方便地编写动态网页,因此在实际的应用中采用servlet来控制业务流程,而采用jsp来生成动态页面,在struts框架中,jsp位于mvc的设计式的视图层, 答案三: Jsp是servlet技术的扩展,...

    适配器模式和代理模式的区别

    代理模式 组成: 抽象角色:通过接口或抽象类声明真实角色实现...真实的角色就是实现实际的业务逻辑,不用关心其他非本职责的事务,通过后期的代理完成一件完成事务,附带的结果就是编程简洁清晰。 (2)代理对象可

    MySQL事务控制和锁机制

    本文基于MySQL5.7为基础,讨论与数据库事务和锁的相关内容。 锁机制 根据加锁的范围,MySQL里面的锁可以分成全局锁、表级锁和行锁三类。 全局锁 全局锁能够对整个库实例进行加锁。 加锁的语法: FLUSH TABLES WITH ...

    JAVA中spring介绍以及个人使用心得

    面向切面编程(AOP):Spring框架支持面向切面编程(AOP),可以将横切关注点(如日志记录、事务管理)与应用程序的业务逻辑分离,提高代码的模块化和可重用性。 数据访问:Spring框架提供了对各种数据访问技术的...

    SSH2(spring3.2+strust2.3.4+hibernate4.2)框架演示代码

    Hibernate是一个对象关系映射(ORM)框架,用于将Java对象映射到关系数据库中的表。 以下是一个SSH2框架演示代码的资源描述: 项目结构 Web层(Struts2) struts.xml:Struts2的配置文件,定义Action和Result等。...

    JAVA中spring介绍及心得.docx

    Spring是一个开源的Java应用框架,它为企业级Java应用... - AOP允许将横切关注点(cross-cutting concerns)从业务逻辑中分离出来,例如日志记录、性能监控、事务管理等。 - Spring框架通过AOP支持将切面逻辑与业务逻

    【完整版】CICS/6000 应用开发指南

    CICS 是一系列为 IBM 和非 ...CICS 的结构设计也是面向事务处理的,CICS 构建的是一个三层次结构的应用系统,CICS 有效地区分应用系统中的表述逻辑层、业务逻辑层和数据逻辑层,从而使应用系统结构清晰,维护简单易行。

    全网最热spring问题总结.pdf

    事务管理: Spring 提供一个持续的事务管理接口, 可以扩展到上至本地 事务下至全局事务(JTA) 。 异常处理: Spring 提供方便的 API 把具体技术相关的异常(比如由 JDBC, Hibernate or JDO 抛出的) 转化为...

    三层架构设计模式MVC和AOP面向切面编程-SSM框架的学习与应用-Java EE企业级应用开发学习记录(第九天)

    您将了解如何使用AOP来处理横切关注点,例如日志记录、事务管理和安全性,而不必污染核心业务逻辑。 AOP的实际应用: 我们将提供实际的示例和案例,展示如何使用AOP来改善代码的可维护性和可扩展性。您将了解如何在...

    web bean(中文参考).doc

    一个Web Bean是一个包含业务逻辑的应用类。一个Web Bean能够从Java代码中直接调用,也可以通过统一表达语言调用。一个Web Bean可以访问事务性的资源。Web Bean之间的依赖通过Web Bean管理器自动管理。大部分Web Bean...

    我的毕设---购物网站

    基于MVC模式,控制层由Struts的MappingDispatchAction组件提供控制流程,业务逻辑和事务管理由javaBean实现,数据库访问使用Hibernate技术,表现层采用JSP组件,增强了系统的健壮性和可扩展性。 分为用户信息管理...

Global site tag (gtag.js) - Google Analytics