2

JackRabbit Oak 公式ドキュメントRepositoryによると、インスタンスを作成する方法の 1 つは、オブジェクトを作成し、次のようにパラメーター化されたコンストラクターMicroKernelに渡すことです。JCR's

MicroKernel kernel = ...;
Repository repository = new Jcr(kernel).createRepository();

しかし、JCR クラスjavadocsを見ると、 type のオブジェクトを取るコンストラクターが見つかりませんMicroKernel
だから私の質問は:

  • MicroKernelJackRabbit Oak ( JackRabbit 2.0 ではない)を使用してリポジトリ オブジェクトを取得するにはどうすればよいですか。

注: 通常のファイル システムをコンテンツ ストレージ メディアとして使用するリポジトリが必要です。

4

2 に答える 2

3

残念ながら、ドキュメントはいくつかの分野で遅れをとっています。インターフェイスは、Oak のインターフェイスに取っMicroKernelて代わられました。NodeStore

ファイル システムの永続化には、SegmentNodeStore. それぞれのテスト ケースでリポジトリがどのように設定されているかを確認してください。

手短に:

File directory = ...
NodeStore store = new FileStore(directory, 1, false);
Jcr jcr = new Jcr(new Oak(new SegmentNodeStore(store)));
于 2014-09-08T08:36:55.447 に答える
1

MicroKernelImplpublic no-arg コンストラクターを使用して、メモリ内カーネル インスタンスを作成してみてください。

MicroKernel kernel = new MicroKernelImpl();
Repository repository = new Jcr(kernel).createRepository();

または、OAKクラス エントリを使用して以下を作成できますRepository

MicroKernel kernel = new MicroKernelImpl();
Repository repo = new Oak(kernel).createRepository();
于 2014-09-05T17:29:48.700 に答える