繁体   English   中英

如何消除同时访问 Notes 文档的可能性

[英]How do I eliminate the possibility of simultaneous aceess of a Notes Document

在我们的项目中,我们有以下内容:

带有字段的 Notes 文档列表:

  1. 我们系统的用户 ID(我们的名字)
  2. 系统 B 的 Auth 对象(他们的名字)
  3. 系统B的令牌

我决定编写一个 Java 方法来更新令牌(每 30 分钟一次)。 基本上,它将遍历列表,对他们的系统执行 REST 方法,最后我们将获得一个新令牌并将其写入文档。 没有那么多文件(实际上总是少于10个,但是请求可能需要很多时间)

然而,我偶然发现了一个问题。 如果用户的请求将与令牌刷新同时执行怎么办? 遇到这样的情况,我们应该如何处理? 我应该有类似锁的东西来消除这种可能性吗? 而在每个用户请求的代码中,我们应该只有在文档解锁时才发送请求? 我们怎么能“等待”解锁呢?

提前致谢。

只需使用 Notes 中的默认锁定机制:需要在数据库属性中启用文档锁定。 然后您可以执行以下操作:

If doc.lock( timestamp ) then 
    'Document has not been locked previously
    'Your code comes here
    'Don‘t forget to unlock at the end
End if

参数通常是用户名,那么为什么要使用时间戳作为“伪用户”呢? “锁定”用户始终是代码的签名者,您需要区分不同的调用,因此使用时间戳来唯一标识会话。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM