0

私は、最新の Spring3 と JBoss Modeshape (ファイルシステム コネクタを使用して統合リポジトリを指す) を使用して、資産を取得する「リソース」コントローラーに取り組んでいます。

コントローラーを使用してWebページにアクセスすると、ほとんどの画像が返され、他のさまざまな画像の「getNode」呼び出しでNullPointerExceptionがスローされます...

私の側では、特別なことは何もしていません (私のテストケースは正常に動作します):

  1. エンジンの作成/構成 (1 回のみ)
  2. ログインしてセッションを受ける
  3. ノードを見つけようとする
  4. セッションからログアウトする

コードは次のようになります。

session = createSession();
Node node = session.getNode(path);

ページへの最初のヒット (エラーあり) の後、その後のすべてのヒットは完璧に機能し、それ以降はすべて正常に読み込まれます。

私はこのリンクをたどっていますHeavy Concurrency: A better way to manage JCR Sessions for the session creation/manage.

Modeshape で JcrNodeDefinition を構成しようとしているスレッドが複数あるように見えます。enureRequirePrimaryTypesLoaded()メソッドをマークするsynchronizedと、エラーは発生しません。

Modeshape、同時実行性、およびセッション管理を使用した経験/提案はありますか?

スタック トレースは次のとおりです。

org.modeshape.jcr.JcrNodeDefinition.ensureRequiredPrimaryTypesLoaded(JcrNodeDefinition.java:114) で java.lang.NullPointerException org.modeshape.jcr.JcrNodeDefinition.allowsChildWithType(JcrNodeDefinition.java:275) でRepositoryNodeTypeManager.java:1142) org.modeshape.jcr.JcrNodeTypeManager.findChildNodeDefinition(JcrNodeTypeManager.java:433) org.modeshape.jcr.SessionCache$JcrNodeOperations.materialize(SessionCache.java:2711) org.modeshape.graph.session .GraphSession$Node.load(GraphSession.java:1755) at org.modeshape.graph.session.GraphSession$Node.getPayload(GraphSession.java:3030) at 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)

4

1 に答える 1

0

これをModeShape ディスカッション フォーラムに投稿し、この場合は開発チームが評価できるように問題をログに記録することをお勧めします。これらは、ModeShape ユーザーと直接コミュニケーションを取り、ModeShape 固有の問題や質問について尋ねる最良の方法です。

于 2012-01-17T23:32:23.950 に答える