XPages:有人可以阐明这些消息吗?
XPages: can someone shed some light on these messages?
15/07/15 11:04: Exception Thrown
Context Path: /aalto803.nsf
Page Name: /Preferences.xsp
javax.faces.FacesException
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:102)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:210)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:96)
at com.ibm.xsp.controller.FacesControllerImpl.execute(FacesControllerImpl.java:256)
at com.ibm.xsp.webapp.FacesServlet.serviceView(FacesServlet.java:228)
at com.ibm.xsp.webapp.FacesServletEx.serviceView(FacesServletEx.java:157)
at com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:160)
at com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:138)
at com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:103)
at com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(ComponentModule.java:576)
at com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(NSFComponentModule.java:1335)
at com.ibm.designer.runtime.domino.adapter.ComponentModule$AdapterInvoker.invokeServlet(ComponentModule.java:853)
at com.ibm.designer.runtime.domino.adapter.ComponentModule$ServletInvoker.doService(ComponentModule.java:796)
at com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(ComponentModule.java:565)
at com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(NSFComponentModule.java:1319)
at com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal(NSFService.java:662)
at com.ibm.domino.xsp.module.nsf.NSFService.doService(NSFService.java:482)
at com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:357)
at com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:313)
at com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:272)
Caused by: java.lang.NullPointerException
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:317)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:428)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:94)
... 19 more
我们正在查找内存泄漏,因此我们可以添加必要的 recycle() 语句。我们所做的是:我们在我们的应用程序中打开一个文档,保存并关闭它,然后多次。我们可以看到,在大多数情况下,内存使用几次后就趋于稳定,这似乎是一个好兆头。但是时不时地,在重复大约 10 次之后,应用程序会停止,并显示上面的消息 (NullPointerException) 或 NoAccessSignal。
不知道从哪里开始寻找...有什么想法吗??
以防万一有人想知道我们为什么不使用 OpenNTF 库:应用程序必须 运行 在 R8.5 Domino 服务器上。
我会确认您没有回收任何数据库对象。
还可以在您的代码中使用 print 添加多个 try{}catch() 语句,以便您可以找到代码崩溃的位置以缩小问题范围。
您还可以检查您的状态和应用程序/会话超时是如何配置的
http://www.dalsgaard-data.eu/blog/tuning-your-xpages/
我以前没见过。它处于部分刷新的调用应用程序阶段(堆栈跟踪的第一行),因此当您的 SSJS 在例如之后运行时单击一个按钮。 "caused by" 位指向 broadcastEvents 中的 NullPointerException,这是 XPages 运行时的核心方法。所以它似乎与您的应用程序逻辑无关,但更深层次。
在搜索 "NullPointerException" 和 "broadcastEvents" 时,我发现了这篇技术说明 https://www-304.ibm.com/support/entdocview.wss?uid=swg1LO84237。诚然,它是针对 9.0 的,但这并不意味着在相同情况下的早期版本中不存在该问题。
这听起来与内存泄漏无关 - 它没有给出内存不足错误,而是在第 317 行的 broadcastEvents 中遇到 NullPointerException。IBM 可能能够阐明该行发生的情况及其原因可能会抛出 NPE。
问题:
java.lang.NullPointerException
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:317)
被追踪为 SPR#RGAU9UPLZ7。
当您在同一个会话中对不同的 XPage 实例有 2 个并发请求时,就会发生这种情况,
以及请求线程以特定方式交互时(因此通常是间歇性的)。
该问题特定于 "page persistence" 选项是 "in memory" 而不是 "on disk"(作为文件)。
15/07/15 11:04: Exception Thrown
Context Path: /aalto803.nsf
Page Name: /Preferences.xsp
javax.faces.FacesException
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:102)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:210)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:96)
at com.ibm.xsp.controller.FacesControllerImpl.execute(FacesControllerImpl.java:256)
at com.ibm.xsp.webapp.FacesServlet.serviceView(FacesServlet.java:228)
at com.ibm.xsp.webapp.FacesServletEx.serviceView(FacesServletEx.java:157)
at com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:160)
at com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:138)
at com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:103)
at com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(ComponentModule.java:576)
at com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(NSFComponentModule.java:1335)
at com.ibm.designer.runtime.domino.adapter.ComponentModule$AdapterInvoker.invokeServlet(ComponentModule.java:853)
at com.ibm.designer.runtime.domino.adapter.ComponentModule$ServletInvoker.doService(ComponentModule.java:796)
at com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(ComponentModule.java:565)
at com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(NSFComponentModule.java:1319)
at com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal(NSFService.java:662)
at com.ibm.domino.xsp.module.nsf.NSFService.doService(NSFService.java:482)
at com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:357)
at com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:313)
at com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:272)
Caused by: java.lang.NullPointerException
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:317)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:428)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:94)
... 19 more
我们正在查找内存泄漏,因此我们可以添加必要的 recycle() 语句。我们所做的是:我们在我们的应用程序中打开一个文档,保存并关闭它,然后多次。我们可以看到,在大多数情况下,内存使用几次后就趋于稳定,这似乎是一个好兆头。但是时不时地,在重复大约 10 次之后,应用程序会停止,并显示上面的消息 (NullPointerException) 或 NoAccessSignal。
不知道从哪里开始寻找...有什么想法吗??
以防万一有人想知道我们为什么不使用 OpenNTF 库:应用程序必须 运行 在 R8.5 Domino 服务器上。
我会确认您没有回收任何数据库对象。 还可以在您的代码中使用 print 添加多个 try{}catch() 语句,以便您可以找到代码崩溃的位置以缩小问题范围。
您还可以检查您的状态和应用程序/会话超时是如何配置的 http://www.dalsgaard-data.eu/blog/tuning-your-xpages/
我以前没见过。它处于部分刷新的调用应用程序阶段(堆栈跟踪的第一行),因此当您的 SSJS 在例如之后运行时单击一个按钮。 "caused by" 位指向 broadcastEvents 中的 NullPointerException,这是 XPages 运行时的核心方法。所以它似乎与您的应用程序逻辑无关,但更深层次。
在搜索 "NullPointerException" 和 "broadcastEvents" 时,我发现了这篇技术说明 https://www-304.ibm.com/support/entdocview.wss?uid=swg1LO84237。诚然,它是针对 9.0 的,但这并不意味着在相同情况下的早期版本中不存在该问题。
这听起来与内存泄漏无关 - 它没有给出内存不足错误,而是在第 317 行的 broadcastEvents 中遇到 NullPointerException。IBM 可能能够阐明该行发生的情况及其原因可能会抛出 NPE。
问题:
java.lang.NullPointerException
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:317)
被追踪为 SPR#RGAU9UPLZ7。
当您在同一个会话中对不同的 XPage 实例有 2 个并发请求时,就会发生这种情况, 以及请求线程以特定方式交互时(因此通常是间歇性的)。 该问题特定于 "page persistence" 选项是 "in memory" 而不是 "on disk"(作为文件)。