問題タブ [jcr]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
jcr - Jcr (Modeshape) バイナリ コンテンツ シリアライズ可能
Modeshape 2.6.0 を使用しています。バイナリ コンテンツとメタデータの 2 種類のコンテンツがあります。
バイナリは、CR ノードの jcr:data プロパティに保存されます。content.getProperty("jcr:data").getBinary()... (コンテンツのタイプは Node) を介してコンテンツを取得しています
プロジェクトは、ehcache キャッシュ ソリューションを使用します。このキャッシュ メカニズムは、バイナリ コンテンツに拡張する必要があります。それを機能させるには、ノードのコンテンツを Serializable を実装するものにする必要があります。
私の最初のターゲットはバイナリでした。
23:44:49,255 エラー [net.sf.ehcache.store.compound.factories.DiskStorageFactory] 7690f9c6-a6f0-412e-ba47-b8e43f77d1af のディスク書き込みに失敗しました (代わりに削除されます):: java.io.NotSerializableException: org .modeshape.jcr.JcrBinary
なにか提案を?
ありがとうございました。
java - JCR 2.0 セッションの正しい使い方
このガイドJCR Wikiでは、リクエストごとに新しいセッションを使用することを提案しています。私の仕事は、jackrabbit ファイルのツリーを作成することです。このガイドに従って各アイテムのプロパティ/ノードを取得するには、新しいセッションを作成して後で閉じる必要がありますか? このようにして、毎回多くのセッションを作成することになりますが、これは奇妙に見えます。
しかし、JCR で常に 1 つのセッションを使用すると、JCR 側で MemoryHeapException に問題が発生し、ノードが正しく保存されないことがあります。
1 つのセッションを使用することと、毎回セッションを作成することの間のアプローチに対する規範はありますか? それとも、ガイドを読み間違えていますか?
jackrabbit - 動的な日付比較を使用したJCRSQL2クエリ
jcrリポジトリにクエリを実行して、日付プロパティ(jcr:createdなど)が特定の日付よりも若いノードを見つける必要があります。
SQL2を使用して、次のように「jcr:created> date」をチェックします(これは正常に機能します)。
SELECT * FROM [nt:base] AS s WHERE s.[jcr:created] > CAST('2012-01-05T00:00:00.000Z' AS DATE)
ここで注意が必要な部分は次のとおりです。
jcr:created日付に動的に追加する必要がある日数を宣言する追加のプロパティがあります。
プロパティに5(日)が含まれているとすると、クエリは「jcr:created> date」ではなく、「(jcr:created + 5)>date」をチェックする必要があります。プロパティ値10を含む次のノードは、「(jcr:created + 10)>date」でチェックする必要があります。
それを行うことができるインテリジェント/動的オペランドはありますか?プロパティはノード固有であるため、静的にクエリに追加することはできませんが、各ノードのプロパティを読み取る必要があります。
java - JCR 2.0 SQL2 で複数レベルのプロパティ クエリを実行するにはどうすればよいですか?
私はこのようなことをしたいのですが、JCR_SQL2 で (XPATH は JCR 2.0 で廃止されたため)。
次のように最初のノードを取得できます。
しかし、そのノードの下だけを照会するにはどうすればよいでしょうか?
multithreading - ensureRequiredPrimaryTypesLoaded が Jetty での最初のアクセス時に NullPointerException をスローする
私は、最新の Spring3 と JBoss Modeshape (ファイルシステム コネクタを使用して統合リポジトリを指す) を使用して、資産を取得する「リソース」コントローラーに取り組んでいます。
コントローラーを使用してWebページにアクセスすると、ほとんどの画像が返され、他のさまざまな画像の「getNode」呼び出しでNullPointerExceptionがスローされます...
私の側では、特別なことは何もしていません (私のテストケースは正常に動作します):
- エンジンの作成/構成 (1 回のみ)
- ログインしてセッションを受ける
- ノードを見つけようとする
- セッションからログアウトする
コードは次のようになります。
ページへの最初のヒット (エラーあり) の後、その後のすべてのヒットは完璧に機能し、それ以降はすべて正常に読み込まれます。
私はこのリンクをたどっています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)
java - Apache Jackrabbit ウェブアプリ
jackrabbit サーバー上のドキュメントを参照および移動/削除/編集するために使用できる apache jackrabbit 用の (サード パーティの) webapp があるかどうかを知りたいです。
jackrabbit チームによって作成されたWeb インターフェイスがあることは知っていますが、それは標準的すぎます。
独自の Web アプリケーションを作成することもできますが、車輪の再発明はしたくありません :)
web-services - スコープ 'セッション' は現在のスレッドに対してアクティブではありません
クライアントとサーバーの 2 つの Spring アプリケーションがあります。サーバー アプリケーションにはサービスがあり、クライアント アプリにはビュー ロジックがあります。両方のアプリは Web サービスを介して通信する必要がありますが、エラーのために機能しませんでした
リクエストの処理に失敗しました。ネストされた例外は org.springframework.remoting.jaxws.JaxWsSoapFaultException: 'scopedTarget.jcrSession' という名前の Bean の作成中にエラーが発生しました: スコープ 'session' は現在のスレッドに対してアクティブではありません。シングルトンから参照する場合は、この Bean のスコープ付きプロキシを定義することを検討してください。ネストされた例外は java.lang.IllegalStateException: No thread-bound request found: 実際の Web 要求の外部で要求属性を参照していますか、または元の受信スレッドの外部で要求を処理していますか? 実際に Web リクエスト内で操作していてもこのメッセージが表示される場合、コードは DispatcherServlet/DispatcherPortlet の外部で実行されている可能性があります。この場合、RequestContextListener または RequestContextFilter を使用して現在のリクエストを公開します。
サーバーアプリでは、JCRセッション(セッションスコープのBean)を使用しています
私が持っているサーバーアプリのweb.xmlで
サーバー アプリで生成された WSDL ファイルにブラウザーでアクセスすると、すべて問題ありません。サーバーアプリサービスをローカルで使用する場合(サーバーアプリのコントローラーなど)もすべて問題ありません。リモートアプリからWebサービスを介してサービスにアクセスしようとすると、なぜこのエラーが発生するのですか?
Update1
jcrSessionはSessionFactoryクラスごとに作成されます。次に、これjcrSessionは springs を使用して DAO オブジェクトに自動配線されます@Autowired。
また、同じアプリでサービスをオートワイヤしようとしたときに同じエラーが発生し、メソッドでアノテーションが付けられたメソッドまたは inメソッド@PostConstructの実装で使用しましたInitializingBeanafterPropertiesSet()
login - CQ5 で、JCR に保存されたログイン資格情報にアクセスする方法
私はCQ5に取り組んでいます。CQ5 のフォーム コンポーネントを実装し、JCR (Java Content Repository) に保存されたコンテンツにアクセスできるようになりました。現在、CQ5 のデフォルトのログイン コンポーネントを実装しています。ログインページと登録ページを作りました。登録ページには、名、姓、ユーザー名、電子メール、パスワードなどのユーザー エントリがいくつかあります。したがって、ログインは JCR の登録テーブルのユーザーのエントリを使用する必要がありますが、そうすることができません。
問題を解決するのを手伝ってください。JCR を使用してログイン コンポーネントを実装する方法、つまり JCR に保存されたデータでログインする方法。または、外部データベースを使用して行うこともできます。
ありがとう
コマル
java - jcr クエリ構造
jcr クエリを作成し、リポジトリからデータを受け取ります。これが私のコードです:
しかし、これは正常に実行できません。それは私にエラーを与える
jcr-shell では、入力すると機能し、query sql "select * from public:hours"適切な結果が得られます。
多くの参考文献を検索しましたが、ほとんどすべての例が私のものと同じです。そのため、どこに問題があるのか わかりません。誰でもこれを経験したことがある人は助けてください。
jackrabbit - Jackrabbit のインデックス作成機能をオフにしても安全ですか?
ファイルの保存には Jackrabbit のみを使用し、後でフル パスまたは UUID を使用して取得します。この場合、Jackrabbit インデックスをオフにしても安全ですか?
Jackrabbit の XPath クエリはどうですか? フルテキスト インデックスを使用しますか?