難しい問題があります。同じリンクをすばやくクリックすると、Webペースで常にNullpointer例外が発生します。または、ページをすばやくリロードしたとき。これは私が得るエラーです:
java.lang.NullPointerException
com.ibm.xsp.webapp.FacesServlet.acquireSyncToken(FacesServlet.java:285)
com.ibm.xsp.webapp.FacesServletEx.serviceView(FacesServletEx.java:161)
com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:160)
com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:138)
com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:103)
com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(ComponentModule.java:576)
com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(NSFComponentModule.java:1281)
com.ibm.designer.runtime.domino.adapter.ComponentModule$AdapterInvoker.invokeServlet(ComponentModule.java:847)
com.ibm.designer.runtime.domino.adapter.ComponentModule$ServletInvoker.doService(ComponentModule.java:796)
com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(ComponentModule.java:565)
com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(NSFComponentModule.java:1265)
com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal(NSFService.java:653)
com.ibm.domino.xsp.module.nsf.NSFService.doService(NSFService.java:476)
com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:341)
com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:297)
com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:272)
質問:誰かがこのacquireSyncTokenが何をするかを詳細に説明できますか?多分それなら私はバグを見つけることができます...
私のXPagesでは
sessionScope.get(key) // same with applicationScope
sessionScope.put(key, value) // same with applicationScope
たくさん;)私は非常に試みました、例えば私のルックアップを内にラップするために
synchronize(applicationScope){
// lookups and so on...
}
とそのようなもの、しかしそれはそれを悪化させるだけだったので、私は同期のものを削除しました...
環境:
Domino Server 8.5.3 FP1
XPages
testing on modern Browsers like FF, Chrome
MacOS / Win7
アーキテクチャ:1つのBIG xPageがあり、基本的にいくつかのCustomControlsを追加し、現在のURLのために別のXPageを埋め込みます。CustomControlsとXPagesの中には、さらに多くのCustom Controlsがあり、データソースとしていくつかのビューを追加し、ComputedFieldsの中で「repeatcontrols」とSSJSを使って最もワイルドなことをしました。重量のあるDBルックアップはapplicationScopeにキャッシュされます。
詳細については、お問い合わせください!前もって感謝します!