【学习系列】SAP RAP 6:行为定义-Concurrency Control

前言

前一篇中介绍了行为定义中编号Numbering的使用方式,本篇介绍下RAP行为定义中的并发控制Concurrency Control,并发控制可以防止不同用户同时访问数据库并互相干扰,确保只有在保证数据一致性的情况下才能更改数据,并发控制有两种方式:乐观并发控制悲观并发控制


正文

乐观并发控制

乐观控制并发依赖于ETag字段,即数据每一次更改都会刷新指定的ETag字段,并且乐观并发控制仅在通过OData消费业务对象时才有意义,所以ETag也称为OData ETag。

下面说明了对同一实例进行操作的两个不同客户的ETag检查:

如上图所示,假定两个用户同时要对一个订单进行更改,那么用户1和用户2都需要先get到当前的ETag,假定用户1先执行了在upate请求,将ETag附加在请求header中一并传给后端,后端在判断本次传进来的ETag是不是跟上一次一致,如果一致则更改成功,并将ETag设置为一个新的值;然后用户2晚一点也发起了update请求,这次后端对比ETag时,发现已经和传入的ETag不一致了,那么系统就会阻止本次修改请求,避免覆盖用户1更改的内容。

在上面SAP官方的运行示例图中可以看到,读取ETag的行为是通过READ方法读取的,在managed场景中,这是由框架自动完成的,

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DeveloperMrMeng

觉得有用的佛系投币哦

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值