根据JackRabbit Oak官方文档的说法,创建Repository实例的方法之一是创建一个MicroKernel对象,并将其传递给JCR's参数化构造函数,如下所示:
MicroKernel kernel = ...;
Repository repository = new Jcr(kernel).createRepository();但是,查看JCR类javadocs,我找不到任何构造函数,它接受MicroKernel类型的对象。
所以我的问题是:
MicroKernel在JackRabbit Oak(而不是JackRabbit 2.0)中获得存储库对象。注意:我想要一个使用普通文件系统作为内容存储介质的存储库。
发布于 2014-09-08 08:36:55
不幸的是,这些文件在某些领域落在后面。MicroKernel接口已被Oak中的NodeStore接口所取代。
对于文件系统持久性,您可以使用SegmentNodeStore。看看各自的测试用例设置存储库是如何实现的。
简而言之:
File directory = ...
NodeStore store = new FileStore(directory, 1, false);
Jcr jcr = new Jcr(new Oak(new SegmentNodeStore(store)));发布于 2014-09-05 17:29:48
尝试使用MicroKernelImpl公共无arg构造函数来创建内存中的内核实例:
MicroKernel kernel = new MicroKernelImpl();
Repository repository = new Jcr(kernel).createRepository();另外,您可以使用OAK类条目创建一个Repository
MicroKernel kernel = new MicroKernelImpl();
Repository repo = new Oak(kernel).createRepository();https://stackoverflow.com/questions/25681933
复制相似问题