【发布时间】:2014-02-18 05:43:56
【问题描述】:
我最近一直在使用恰好使用 JCR 的 Magnolia CMS。
我面临的一个问题是 JCR 数据损坏,我发现我对如何解决这种情况知之甚少。
我对JCR的理解如下:
- JCR 是一种规范,有多种实现方式
- Jackrabbit 是一种 JCR 实现
- Jackrabbit 可以直接使用文件系统或使用 MySQL 等数据库来存储信息
现在我的问题是
- 如何备份和恢复 JCR 存储库?
- 是否有任何特定工具可用于检查给定 JCR 的完整性并尝试修复它?我一直在玩 toromiro。
- 是否有任何特定的信息/教程资源可供我阅读以全面正确地理解 JCR 技术?
更新:
我还有一些其他问题:
- 如果给定的 JCR 实现将内容存储在数据库中,我是否可以期望所有内容都存储在该数据库中,或者某些内容(即图像)是否会直接存储在文件系统上而不是在数据库中?
- 目前我们有一个由三个不同的网络服务器访问的 JCR 存储库,据我了解,JCR 规范考虑了这种情况并保护了存储库,以防止由于并发写入访问而导致内容不一致。这是正确的吗?
- 具体来说,我们遇到的问题在于节点 A 包含对节点 B 的引用,但节点 B 不可访问,在使用 groovy 脚本后,我们设法删除了节点 B(这似乎处于不一致的状态),但是,我们如何找到对节点 B 的所有引用(可能不仅节点 A 引用了它,而且节点 C 也引用了它)。到底是什么原因导致 JCR 存储库损坏?,顺便说一句,我们还尝试使用 forceConsistencyCheck、autorepair 和 enableConsistencyCheck 标志,但没有解决问题。
谢谢
【问题讨论】:
标签: java jackrabbit jcr magnolia