根据JackRabbit Oak官方documentation的说法,创建Repository
实例的方法之一是创建一个MicroKernel
对象并将其传递给JCR's
参数化构造函数,如下所示:
MicroKernel kernel = ...;
Repository repository = new Jcr(kernel).createRepository();
但是看看JCR类javadocs,我找不到任何带有MicroKernel
类型对象的构造函数。
所以我的问题是:
MicroKernel
获取存储库对象(不是
JackRabbit 2.0 )。注意:我想要一个使用普通文件系统作为内容存储介质的存储库。
答案 0 :(得分:3)
遗憾的是,某些地区的文件落后。 MicroKernel
接口已被Oak中的NodeStore
接口取代。
对于文件系统持久性,您可以使用SegmentNodeStore
。看看各个测试用例set up the repository是如何进行的。
简而言之:
File directory = ...
NodeStore store = new FileStore(directory, 1, false);
Jcr jcr = new Jcr(new Oak(new SegmentNodeStore(store)));
答案 1 :(得分:0)
尝试使用MicroKernelImpl
public no-arg构造函数来创建内存中的内核实例:
MicroKernel kernel = new MicroKernelImpl();
Repository repository = new Jcr(kernel).createRepository();
或者,您可以使用OAK
类条目创建Repository
:
MicroKernel kernel = new MicroKernelImpl();
Repository repo = new Oak(kernel).createRepository();