2012-01-17 54 views
0

我的工作「資源」控制器下的第一次訪問拋出NullPointerException異常的最新Spring3和JBoss振形來檢索資產(使用文件系統連接器指向聯合存儲庫)。ensureRequiredPrimaryTypesLoaded使用碼頭

當我訪問任何網頁,使用控制器,它返回的圖像,然後拋出在各種其他的了「getNode」調用一個NullPointerException ...

我的結束,我沒有做什麼特別的(我的測試情況下很好地工作):

  1. 創建/配置引擎(僅限一次)
  2. 登錄,並得到一個會話
  3. 試圖找到節點
  4. 註銷從會話

代碼相當的模樣:

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)

回答

0

我建議在ModeShape discussion forums上張貼這個,在這種情況下,記錄一個問題,以便開發團隊可以評估它。這些是直接與ModeShape用戶通信並詢問ModeShape特定問題或問題的最佳方法。

+0

已解決(https://community.jboss.org/message/647466#647466) – KJQ 2012-01-26 15:28:04