我在xpages上有一个应用程序需要有一个用户的句柄号,当我有两个用户试图同时保存时,我遇到了重复数字的问题。我尝试过使用FTSearch和UpdateIndex,两者都不可行,因为它们导致xpage缓慢。我希望其他选项能够生成这个序列,而不会产生双重性并且不会影响服务器性能。
答案 0 :(得分:3)
您需要区分:单个服务器或多个服务器(假设您不使用Notes客户端)。
单台服务器:
创建部署“应用程序托管bean”的托管bean。在加载时,bean从视图中获取第一个条目,该视图按顺序降序排序。它将这一个留在记忆中。内部调用单例的同步函数getNextNumber()
为您提供所需的值
多台服务器: a)他们不能互相“看到”(远程复制):更改序列以包含服务器前缀。或者:仅在复制后添加序列号。
b)他们在https上看到对方: 设计“应用程序托管bean”,它们在同一个服务器上执行相同的操作,除了它们询问数字的“主”。然后,您需要实现一种机制,允许在主服务器无响应时动态更改主服务器。某种协商协议。 (群集环境中的常见挑战)。
答案 1 :(得分:0)
这个问题与Domino有关,与XPages没什么特别之处。阅读IBM here的一些建议,并将其作为代理实施。你可以在PostSave活动中调用它。
你需要承担更多的事情: