broadleaf-commerce - 为什么 Broadleaf 中有两个 OrderLockManager 实现?
问题描述
在 Broadleaf 中,两者SessionOrderLockManager
均可DatabaseOrderLockManager
用于CartStateFilter
序列化用户请求。似乎前者锁定了与请求关联的会话,而后者锁定了嵌入在请求正文中的订单。
我的问题是,为什么这两种实现都存在?提供的语义是否存在差异?是否存在基于会话的锁不够用的情况?(我通过 git history 发现数据库锁的实现是在后面引入的。)
非常感谢!
ps 我不熟悉 HTTP 会话。如果任何陈述有误,请纠正我。
[编辑] 这是另一个相关的问题:为什么要使用锁?似乎标记服务方法@Transactional
就足够了。
解决方案
推荐阅读
- javascript - 如何让 vimeo 缩略图具有视差效果/固定背景 (CSS)?
- mongodb - mongodb:匹配字符串或数组
- c++ - 来自 std::unordered_map 的以下命令之间是否有任何区别
- javascript - 以日期为 x 轴的折线图上的工具提示行为
- c++ - 高级综合中模板对象数组的编译时创建
- javascript - Vue js - 在同一级别的两个组件内传递数据
- javascript - 带按键暂停的 setTimeout 函数重载
- jquery - select2 - 如何预选从 AJAX 远程源接收数据的多个选项
- java - 如何将嵌套的 for 循环转换为递归
- r - 如何使用ggplot根据列的值更改点的大小?