首页 > 解决方案 > 为什么 Broadleaf 中有两个 OrderLockManager 实现?

问题描述

在 Broadleaf 中,两者SessionOrderLockManager均可DatabaseOrderLockManager用于CartStateFilter序列化用户请求。似乎前者锁定了与请求关联的会话,而后者锁定了嵌入在请求正文中的订单。

我的问题是,为什么这两种实现都存在?提供的语义是否存在差异?是否存在基于会话的锁不够用的情况?(我通过 git history 发现数据库锁的实现是在后面引入的。)

非常感谢!

ps 我不熟悉 HTTP 会话。如果任何陈述有误,请纠正我。


[编辑] 这是另一个相关的问题:为什么要使用锁?似乎标记服务方法@Transactional就足够了。

标签: broadleaf-commerce

解决方案


推荐阅读