xpages 应用程序中的间歇性行为:按下按钮保存,文档未重定向并再次显示

Intermittent behavior in xpages application: by pressing the button to save, the document is not redirected and is displayed again

我在生产环境中部署了几个月的新 xpages 应用程序出现问题,但现在才扩展到整个企业。在应用程序处于生产试验阶段时未发生的问题是间歇性的,并且在操作执行当前 notesxsppdocument 保存 (currentdocument) 时发生。症状是按下您保存的按钮,文档不会被重定向并再次显示。这可能是什么问题。会话超时,来自 xpages 的错误?该应用程序基本上使用扩展库的组件,xpages 没有外部组件。出现问题时,如果用户关闭文档的 xpages 再次打开,然后再次单击按钮,代码将成功运行。

我有一个功能可以将附加到文档的文件存储在存储库中。我怀疑她是问题所在。该函数使用文件上传组件和一个按钮来执行将文件存储在存储库中的 java 代理。下面是按钮代码。它的功能基本上是创建不存在的富文本,并调用使用 Web 服务的代理将文件传输到存储库并将其从文档中删除。

我在服务的时候问过用户几天不要使用这个功能来验证问题是否还会存在。

if(validaArquivo())
{

var url=@ReplaceSubstring(context.getUrl(),"openDocument","editDocument")
url += '&tab=dossie' ;
var fieldItem:NotesItem = 
currentDocument.getDocument().getFirstItem("arquivos");
    if (fieldItem==null){
        // create the field as an RTF
        //writeToLog("Creating xxxxx field");
        var rtItem:NotesRichTextItem = 
        currentDocument.getDocument().createRichTextItem("arquivos");
        currentDocument.save(); 
    }else if (fieldItem.getType()==1280){
        //writeToLog("--> Converting xxxxx to RTF");
        currentDocument.replaceItemValue("arquivosTEXT", 
        fieldItem.getText());
        fieldItem.remove();
        var rtItem:NotesRichTextItem = 
        currentDocument.getDocument().createRichTextItem("arquivos");
        currentDocument.save();         
    } 
var agente:NotesAgent=database.getAgent("(SalvaAnexos)");
agente.runWithDocumentContext(currentDocument.getDocument(true));
context.redirectToPage(url)
}
else
{
 document1.removeAllAttachments("arquivos");
}

当用户使用应用程序时,重建或更改产品环境中的某些代码可能会导致此问题。