如何从JCR(Java内容库)进行快照备份和恢复

3
我该如何对JCR存储库进行快照备份/还原?
我需要完全的数据完整性。这意味着,由单个备份命令产生的单个快照映像必须在没有任何外部依赖的情况下有效。并且可以完全地将其恢复到其他JCP实例中。这意味着如果我将快照映像恢复到JCR实例中,则必须清除存储库中的所有现有数据,并完全恢复快照中的所有数据,就像先前存储库中的数据一样。
为了达到数据完整性,停止整个服务是可以接受的。
如何操作?
1个回答

2
JCR API本身并没有提供任何简单的方法来完成整个存储库的完整可还原备份(就像JDBC没有覆盖关系数据库的备份/还原功能一样),因此您的问题的答案取决于您使用的JCR实现。
一个可以适用于任何JCR实现的简单解决方案是关闭存储库并对存储库使用的所有数据进行文件系统/数据库备份。
如果您正在使用Apache Jackrabbit,您还可以使用包含在Jackrabbit独立jar中的备份功能。或者,如果您更喜欢Java API,您可以使用jackrabbit-core中包含的RepositoryCopier类访问相同的功能。当使用RepositoryCopier时,您甚至可以在源存储库运行的同时离开它,只要您可以在应用程序级别执行强制措施,以确保在备份运行时没有客户端尝试写入存储库。

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