11

如果这听起来很愚蠢,我很抱歉,但是 Jackrabbit 和 Oak 有什么区别?我正在研究 JCR170,特别是如何在两个 jackrabbit 安装之间迁移内容,并且我遇到了 JackRabbit 和 Oak。

Apache Jackrabbit™ 内容存储库是 Java 技术 API 内容存储库(JCR,在 JSR 170 和 JSR 283 中指定)的完全符合要求的实现。

内容存储库是一种分层内容存储,支持结构化和非结构化内容、全文搜索、版本控制、事务、观察等。

Jackrabbit Oak 是 JCR 规范的补充实现。它致力于实现一个可扩展且高性能的分层内容存储库,用作现代世界级网站和其他要求苛刻的内容应用程序的基础。有关更多信息,请参阅 Jackrabbit Oak 网站。

Apache Jackrabbit 是 Apache 软件基金会的一个项目

http://jackrabbit.apache.org/jcr/index.html

他们自己的主页说 Jackrabbit 是实现 JCR 的内容存储库,而 Oak 是 JCR 的补充实现。为什么同一个项目有两个 JCR 实现?

4

2 回答 2

13

正如评论中提到的 awd,Oak 只是 Jackrabbit 的最新版本。它不仅仅是一个更新,而是相同 JSR170 的新实现。所以 API 没有改变,但底层的内部工作方式有点不同。正如 Julian 提到的,您可以在文档中找到很多内容。一些主要的变化是:

  • 会话处理:每个会话在创建时都会获取存储库的快照,以防止对存储库的并发更改:http: //jackrabbit.apache.org/oak/docs/architecture/transactional-model.html
  • MicroKernels:您可以使用它来定义存储库的存储方式。目前与以前一样使用名为 tarMK 的 tar 文件或使用 mongoMK 的 NoSQL DB MongoDB。

以下是更改的概述:http: //jackrabbit.apache.org/oak/docs/differences.html

还有一个简短的幻灯片: https ://www.slideshare.net/jukka/oak-the-architecture-of-apache-jackrabbit-3

于 2018-05-18T08:42:21.300 回答
0

目前也在研究它们之间的差异。Apache OAK 当前不支持锁定(https://jira.apache.org/jira/browse/OAK-6421)和合并,因此我们可以使用 jackrabbit 代替。

于 2019-06-18T15:06:46.430 回答