2

根据 JackRabbit Oak 官方文档Repository,创建实例的方法之一是创建一个MicroKernel对象并将其传递给JCR's参数化构造函数,如下所示:

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

但是查看 JCR 类javadocs,我找不到任何采用对象类型的构造函数MicroKernel
所以我的问题是:

  • 我们如何MicroKernel在 JackRabbit Oak(不是 JackRabbit 2.0)中获取存储库对象。

注意:我想要一个使用普通文件系统作为内容存储介质的存储库。

4

2 回答 2

3

不幸的是,这些文件在某些​​领域落后了。该MicroKernel接口已被NodeStoreOak 中的接口取代。

对于文件系统持久性,您将使用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

尝试使用MicroKernelImpl公共无参数构造函数来创建内存内核实例:

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 回答