我最近在使用Magnolia CMS,它使用JCR。
我遇到的一个问题是JCR数据损坏,而我发现我对如何解决这种情况知之甚少。
我对JCR的理解如下:
- JCR是一种规范,有几种实现方式
- Jackrabbit是其中一种JCR实现方式
- Jackrabbit可以直接使用文件系统存储信息,也可以使用像MySQL这样的数据库存储信息
现在我的问题是:
- 如何备份和还原JCR库?
- 是否有特定的工具可用于检查给定JCR的完整性并尝试修复它? 我已经稍微尝试了一下toromiro。
- 是否有任何特定的信息/教程资源,我应该阅读以获得对JCR技术的全面和适当的理解?
更新:
我有其他问题:
- 如果给定的JCR实现将内容存储在数据库中,我能否期望所有内容都存储在该数据库中,或者可能会发生某些内容(例如图像)直接存储在文件系统而不是数据库中?
- 目前我们有一个JCR repo,由三个不同的Web服务器访问,我理解JCR规范考虑了这种情况并保护repo以防止由于并发写访问而导致内容不一致。 这是正确的吗?
- 具体而言,我们遇到的问题在于节点A包含对节点B的引用,但无法访问节点B,在使用groovy脚本后,我们设法删除了节点B(似乎处于不一致状态),但是我们如何找到所有对节点B的引用(可能不仅限于节点A引用它,还有节点C)。,顺便说一下,我们也尝试使用forceConsistencyCheck,autorepair和enableConsistencyCheck标志,但没有解决问题。
谢谢