我的工作「資源」控制器下的第一次訪問拋出NullPointerException異常的最新Spring3和JBoss振形來檢索資產(使用文件系統連接器指向聯合存儲庫)。ensureRequiredPrimaryTypesLoaded使用碼頭
當我訪問任何網頁,使用控制器,它返回最的圖像,然後拋出在各種其他的了「getNode」調用一個NullPointerException ...
我的結束,我沒有做什麼特別的(我的測試情況下很好地工作):
- 創建/配置引擎(僅限一次)
- 登錄,並得到一個會話
- 試圖找到節點
- 註銷從會話
代碼相當的模樣:
session = createSession();
Node node = session.getNode(path);
先打到頁面(有錯誤)後,以後每打這工作完美,一切從那時起罰款。
我下面的會話創建/管理這個環節Heavy Concurrency: A better way to manage JCR Sessions。
看起來好像我有多個線程試圖在Modeshape中配置JcrNodeDefinition。如果我將enureRequirePrimaryTypesLoaded()
方法標記爲,那麼我不會收到錯誤。
任何人有使用振形,併發性和會話管理的經驗/建議嗎?
堆棧跟蹤是:
顯示java.lang.NullPointerException 在org.modeshape.jcr.JcrNodeDefinition.ensureRequiredPrimaryTypesLoaded(JcrNodeDefinition.java:114) 在org.modeshape.jcr.JcrNodeDefinition。 allowsChildWithType(JcrNodeDefinition.java:275) 在org.modeshape.jcr.RepositoryNodeTypeManager.findChildNodeDefinition(RepositoryNodeTypeManager.java:1142) 在org.modeshape.jcr.JcrNodeTypeManager.findChildNodeDefinition(JcrNodeTypeManager.java:433) 在org.modeshape。 jcr.SessionCache附加$ J crNodeOperations.materialize(SessionCache.java:2711) 在org.modeshape.graph.session.GraphSession $ Node.load(GraphSession.java:1755) 在org.modeshape.graph.session.GraphSession $ Node.getPayload(GraphSession。的java:3030) 在org.modeshape.jcr.AbstractJcrNode.getNode(AbstractJcrNode.java:950) 在org.modeshape.jcr.AbstractJcrNode.getNode(AbstractJcrNode.java:96) 在com.acme.beans.contents。 FileNodeAdapter。(FileNodeAdapter.java:26) 在com.acme.web.views.ResourceController.getStream(ResourceController.java:77) 在com.acme.web.views.ResourceController.handleResource(ResourceController。java:46)
已解決(https://community.jboss.org/message/647466#647466) – KJQ 2012-01-26 15:28:04