当前位置: 首页 > 知识库问答 >
问题:

HTTP JVM:CLFAD0134E执行getDocumentByKey方法时

荀振国
2023-03-14

在 x 页上,我运行以下代码:

function setPersonInfoCommon(x) {   
    //print("test printing to console value:  " + x)
    var serv = getPreferenceField("tx_server");
//e.g. "Development1";
    var dbname = getPreferenceField("tx_loc_personal_common");
//e.g. "CustomerX\\Personnel.nsf"
    var db:NotesDatabase = session.getDatabase(serv,dbname);    
    if (db == null) {
        requestScope.status = "Database not found.";    
        return;
    }
    var vw:NotesView = db.getView("LookUpUsersUNID");
    if (vw == null) {
        requestScope.status = "View not found.";    
        return;
    }   
    var doc:NotesDocument = vw.getDocumentByKey(x);
    if (doc == null) {
        requestScope.status = "Document not found.";
        return;
    }
    else{
        requestScope.status = "Document created:" + getCreated();
    }   
}

这冻结了我的XPage,在日志中我看到了以下标记:2014-08-19 12:46:11 HTTP JVM:com.ibm.xsp.webapp。面Servlet$ExtendedServlet异常:com.ibm.xsp。FacesExceptionEx:java.io。NotSerializableException:lotus.domino.local。DateTime 2014-08-19 12:46:11 HTTP JVM:CLFAD0134E:处理XPage请求时出现异常。有关更多详细信息,请参阅E:/Domino/data/Domino/workspace/logs中的error-log-0.xml

XPage与我在中执行getDocumentByKey方法的NSF不同。然而,我没有得到任何迹象表明找不到数据库(db)或视图(vw)。如果我通过输出文件路径或其他东西来检查它,我会得到正确的返回值。

我测试了从NSF中运行代码,我执行了获取文档ByKey方法,然后代码运行良好。

原因可能是什么?

我通过网络登录并拥有适当的权利。

共有1个答案

慕高格
2023-03-14

在发布问题之前,请始终在指定的位置查看那些更详细的日志。这些消息提供了更多信息,这些信息将有助于识别导致问题的代码,并且通常是更详细的解释。

在这种特殊情况下,控制台日志上的消息包括“Java . io . notserializableexception:lotus . domino . local . datetime”。假设这与行< code > request scope . status = " Document created:" get created();(详细的日志将会确认)并且< code>getCreated()实际上是< code>doc.getCreated(),它返回一个NotesDateTime对象。

NotesDateTime对象和任何其他Domino对象都不能放在任何作用域变量中(有各种博客解释Domino对象是不可序列化的)。

如果要将日期/时间放在作用域中,可以使用 NotesDateTime.toJavaDate() 获取等效的 Java 日期,因此 doc.getCreated(.toJavaDate()。

 类似资料:
  • 我需要重写执行程序的执行方法,我需要改变线程超过核心池大小的行为,只有当队列已满时才会创建。 然而,在实时应用程序中,这种行为是不可取的,因为它会导致队列中存在的任务无休止地等待。 我已将execute方法更改如下: 尝试实现:核心线程-

  • 在JavaScript中,可以编写这样的自动执行函数: 我希望在Java中实现这一点。例如: 有这样的事吗?

  • 问题内容: 首次启动应用程序时,是否有任何Spring 3功能可以执行某些方法?我知道我可以做一些技巧来设置带有注释的方法,并且该方法在启动后立即执行,但是随后它将定期执行。 问题答案: 本文向大家介绍在Spring Boot时执行方法相关面试题,主要包含被问及在Spring Boot时执行方法时的应答技巧和注意事项,需要的朋友参考一下 如果通过“应用程序启动”来表示“应用程序上下文启动”,那么可

  • 我很难找到一种方法来跟踪方法执行(例如:在执行时调用方法...) 下面是我想追踪的代码片段: 我想知道JsonSaniitier类的方法sanitize已被调用... 我尝试运行jStack,但是在堆栈跟踪中没有看到任何JsonSanitizer.sanitize方法的出现。 提前谢谢

  • 可能的重复: 如何测量函数的运行时间? 我有一种I/O计时方法,它将数据从一个位置复制到另一个位置。计算执行时间的最佳和最真实的方法是什么<代码>线程<代码>定时器<代码>秒表?还有其他解决方案吗?我想要最准确的,尽可能简短的。

  • 问题内容: 我在理解同步关键字功能时遇到了一些麻烦。根据Java文档和其他教程,可以说,当使用synced关键字时,在两个线程之间不可能在该方法的语句之间进行交织。 但是,请参见下面的代码。 据我了解,程序输出应始终以线程0和线程1不应交错的方式进行。但是多次执行这段代码后,我得到了交错输出。 请帮助我理解问题。 提前致谢.. 问题答案: 的关键字防止两个线程运行的是在同一对象上同步代码。 您的每