首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用JackRabbit Oak使用MicroKernel创建存储库实例

如何使用JackRabbit Oak使用MicroKernel创建存储库实例
EN

Stack Overflow用户
提问于 2014-09-05 08:48:07
回答 2查看 1.3K关注 0票数 2

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

代码语言:javascript
复制
MicroKernel kernel = ...;
Repository repository = new Jcr(kernel).createRepository();

但是,查看JCR类javadocs,我找不到任何构造函数,它接受MicroKernel类型的对象。

所以我的问题是:

  • 如何使用MicroKernel在JackRabbit Oak(而不是JackRabbit 2.0)中获得存储库对象。

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

EN

回答 2

Stack Overflow用户

发布于 2014-09-08 08:36:55

不幸的是,这些文件在某些领域落在后面。MicroKernel接口已被Oak中的NodeStore接口所取代。

对于文件系统持久性,您可以使用SegmentNodeStore。看看各自的测试用例设置存储库是如何实现的。

简而言之:

代码语言:javascript
复制
File directory = ...
NodeStore store = new FileStore(directory, 1, false);
Jcr jcr = new Jcr(new Oak(new SegmentNodeStore(store)));
票数 3
EN

Stack Overflow用户

发布于 2014-09-05 17:29:48

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

代码语言:javascript
复制
MicroKernel kernel = new MicroKernelImpl();
Repository repository = new Jcr(kernel).createRepository();

另外,您可以使用OAK类条目创建一个Repository

代码语言:javascript
复制
MicroKernel kernel = new MicroKernelImpl();
Repository repo = new Oak(kernel).createRepository();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25681933

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档