生成没有重复性xpages的序列

时间:2018-01-29 15:29:02

标签: xpages custom-controls lotus-notes

我在xpages上有一个应用程序需要有一个用户的句柄号,当我有两个用户试图同时保存时,我遇到了重复数字的问题。我尝试过使用FTSearch和UpdateIndex,两者都不可行,因为它们导致xpage缓慢。我希望其他选项能够生成这个序列,而不会产生双重性并且不会影响服务器性能。

2 个答案:

答案 0 :(得分:3)

您需要区分:单个服务器或多个服务器(假设您不使用Notes客户端)。

单台服务器: 创建部署“应用程序托管bean”的托管bean。在加载时,bean从视图中获取第一个条目,该视图按顺序降序排序。它将这一个留在记忆中。内部调用单例的同步函数getNextNumber()为您提供所需的值

多台服务器: a)他们不能互相“看到”(远程复制):更改序列以包含服务器前缀。或者:仅在复制后添加序列号。

b)他们在https上看到对方: 设计“应用程序托管bean”,它们在同一个服务器上执行相同的操作,除了它们询问数字的“主”。然后,您需要实现一种机制,允许在主服务器无响应时动态更改主服务器。某种协商协议。 (群集环境中的常见挑战)。

答案 1 :(得分:0)

这个问题与Domino有关,与XPages没什么特别之处。阅读IBM here的一些建议,并将其作为代理实施。你可以在PostSave活动中调用它。

你需要承担更多的事情:

  • 在群集或多个副本环境中,只允许一个服务器 授予序号,是什么使它成为“单点故障”
  • 数字序列中的间隙会发生什么?他们被允许了吗?
  • 在XPages中你有比代理更多的选项,考虑使用servlet或RPC调用