【问题标题】:XPages | Replication Save ConflictXPages |复制保存冲突
【发布时间】:2018-06-18 15:53:45
【问题描述】:

我在 xPage 中定义了一个文档数据源,并且在更改文件上传控件时调用了一个 java 类。 java类压缩通过文件上传控件上传的图像,然后将其附加到Notes Document。当我单击 xPage(自定义 javascript,设置为保存数据源)上的保存按钮时,它会创建复制或保存冲突。

我假设正在创建此冲突,因为我将数据源保存在 SSJS 中,并将文档保存在 java 中。有什么技巧可以防止保存冲突吗?

【问题讨论】:

  • 您是否尝试在数据源中设置concurrencyMode="force"?您必须检查 Java/SSJS 更改是否已保存到文档中,但在大多数情况下,这可以解决这些冲突的问题。
  • 我不知道 concurrencyMode(一般是 xPages 的新手),所以我确实尝试过,它成功了!谢谢!

标签: javascript java xpages xpages-ssjs


【解决方案1】:

最好的“技巧”是将您的 Java 类转换为托管 bean (ViewScope) 并将您的输入字段绑定到不是文档,而是 Java bean 的属性。处理保存到 Java bean 内的文档。然后你有一个单一的保存点。 请记住:您不能在函数调用之间保留文档句柄,因此在您的 bean 中您只需保留文档 ID 并在需要时获取它。如果其他人在其间更新文档,这也可以降低保存冲突的风险。

【讨论】:

  • 感谢您提供的信息。我现在最终使用了 concurrenyMode=force,但我将在某个时候考虑使用托管 bean。我认为总的来说这将是更安全的解决方案。
【解决方案2】:

您可以在通过 SSJS 保存文档后强制重新加载页面。文档数据源将被重新加载,您不会遇到保存冲突。

context.reloadPage()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-18
    • 2011-07-24
    • 2014-10-24
    • 1970-01-01
    • 1970-01-01
    • 2020-05-17
    相关资源
    最近更新 更多