数据库:锁定特定时间段内的项目

| 我们计划将休眠框架用于类似电子商务应用程序的应用程序。 我们有一个要求,如果用户签出某个项目并进入网关,我们将锁定该项目7分钟,然后释放该项目。 我们如何设计以上要求?想法被赞赏。     
已邀请:
        您可能不想为此使用数据库级别的锁定。大多数数据库和数据库配置不是围绕长期持有的锁的概念构建的。 我能想到的最通用的方法是在您的应用程序中构建某种锁定服务。锁定服务具有tryObtainLock之类的同步方法,该方法将获取锁定,如果锁定可用,则返回true;如果锁定不可用,则返回false(这时您可能会向用户发送错误消息,通知他们该物品已锁定)。 然后,锁定服务可以在自己的表中存储锁列表,锁的要求者以及获取锁的时间。您可以每隔一段时间检查一下是否已持有任何锁超过7分钟,如果已经锁了,请释放它们并通知获得锁的人不再拥有该锁。     

要回复问题请先登录注册