【问题标题】:getDocument() from a XSPDocument is null randomlyXSPDocument 中的 getDocument() 随机为空
【发布时间】:2013-03-14 16:00:51
【问题描述】:

在我开发的生产应用程序中,有时我会收到一条错误消息,指出 .getDocument() 为空。我在我的代码中添加了检查,如果发生这种情况会捕获错误。奇怪的是 XSPDocument 接缝没问题。

任何其他想法如何调试导致此问题的原因?

================================================ =========

编辑

应用程序的下部是一个简单的数据库,创建一个分配它得到状态新 通过按钮将状态更改为进行中。在文本、日期和数字字段中添加信息,没有 Richtext,没有附件。

用户可以切换到另一个 xpage 发送此文档是电子邮件中的 pdf 附件。

用户可以将文档保存为草稿

完成后,单击批准按钮,此按钮会将状态设置为已批准。保存文档并将其以 pdf 格式发送到电子邮件地址

保存按钮和批准按钮都存在问题。

.getDocument 从 xsp 文档为 null xspdocument.getNoteID 返回一个 ID 我可以在 xsp 文档上做 replaceitemvalue。 它永远不会发生在仅存在于我所见的新文档上

感觉就像大卫的评论,后端文档被丢弃/回收

【问题讨论】:

  • 也许您的 xspdoc 是一个视图类别?也许读者领域?
  • 应用程序中没有阅读器字段,文档打开并且用户使用文档。但有时在保存或执行某些任务时会发生这种情况

标签: xpages xpages-ssjs


【解决方案1】:

我们最近遇到了同样的 getDocument() 问题。最后我们找到了根本原因:通过 iFrame 同时加载了两个不同的 XPage。在 25% 的情况下,其中一个 XPage 会随机产生运行时错误。单会话上下文中 JSF 模型中的一种冲突。

解决方案:viewState="nostate"

不确定它是否对您的情况有所帮助,但此选项解决了我们应用程序中的许多问题。它是在 8.5.3 中引入的。它应该对所谓的 XAgents 特别有用。

【讨论】:

  • 我认为在普通的 XPage 中这可能会导致无法保存任何状态的问题。
【解决方案2】:

如果不了解其他所有内容,很难给出提示,但我记得我也看过这个。只是一些想法: 如果发生这种情况,XSPDocument.getNoteID() 是否指向有效的文档? 它是否可能指向与您预期不同的文档? 数据源是否会发生某种动态变化? 也许某种超时让服务器突然忘记了你是谁(在极少数情况下这发生在我身上)? 洛萨/edcom

【讨论】:

    【解决方案3】:

    提供更多详细信息会很有帮助。我假设该文档之前已保存并且不是新笔记?

    您不是想将实际的文档对象放在作用域变量中吗?那会很糟糕,因为那会非常有毒。如果不知道更多,我会认为可能是这种情况。后端文档已被垃圾回收。

    【讨论】:

    • 我很乐意添加更多信息,但问题是要添加什么。 ;-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-05
    • 2015-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多