AEM技术栈中JCR的作用是什么?

4

我可以看到,在AEM技术栈中有多个框架,如OSGi、JCR、CRX和Granite。但是我对JCR和CRX的使用和参与不清楚。能有人解释一下JCR和CRX在AEM中的作用吗?


2个回答

6

JCR是Java内容库规范,Apache JackRabbit实现了该标准,CRX是基于JackRabbit的存储库。


1
我不想争论,但根据维基百科的说法:“Day公司既有一种商业JCR实现,名为Content Repository Extreme (CRX),也参与了开源的Apache Jackrabbit JCR项目。” - dzuma
那么我们不应该争论并依赖于我从维基百科的引用:“Adobe Content Repository Extreme(Adobe CRX)[2]是实现Java内容存储库API(JSR-170)的内容存储库。它基于开源参考实现Apache Jackrabbit,并作为Day Software所有其他产品的基础。” [https://en.wikipedia.org/wiki/Day_Software]。 - Florian Salihovic
一个在Jackrabbit和CRX上工作的人说,它是Jackrabbit的一些部分被替换或添加了,所以我会说它是JCR的实现:https://dev59.com/GGMm5IYBdhLWcg3wivf7#0KWeEYcBWogLw_1b1LzG。CRX嵌入基于Jackrabbit的内容库的句子并不意味着它不是JCR的实现。 - Karol Lewandowski
刚刚注意到当你进入/crx/explorer时:https://i.imgur.com/jwUqbwQ.png - Karol Lewandowski
Apache Jackrabbit是JCR规范的开源实现。Content Repository Extreme(CRX)是在Jackrabbit基础上的商业版JCR。CRX具有一些额外的功能,例如浏览器上jsp和Java类的IDE支持(称为crx/de),包管理系统等。CRX最初由Day构建,然后由Adobe改进,是Adobe Experience Manager的关键功能之一。 - Shashi
显示剩余3条评论

1

Apache Jackrabbit是一个开源的内容存储库实现,完全实现了JCR API。

JCR(JSR-170)是内容存储库的标准Java API。它为Java应用程序提供了与内容存储库交互的接口,但它不提供存储库实现。

Adobe CRX是AEM中使用的商业内容存储库组件,它使用了Jackrabbit的某些元素(例如一些安全API)。CRX提供了额外的功能,如开发工具和集群能力,并且具有与Jackrabbit实现不同的存储机制。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接