如何快照备份&从JCR(Java内容存储库)还原

时间:2011-09-11 16:30:29

标签: java backup jcr

如何快照备份/恢复JCR存储库?

我需要完整的诚信。这意味着,单个备份命令生成的单个快照映像必须在没有任何外部依赖性的情况下有效。它可以在其他JCP实例中完全恢复。这意味着,如果将快照映像还原到JCR实例,则必须清除存储库中的所有现有数据,并且必须完全恢复快照中的所有数据,就像在先前的存储库中一样。

很好地停止整个服务来做到这一点。我起初更喜欢诚信。

我该怎么做?

1 个答案:

答案 0 :(得分:2)

JCR API本身并没有提供任何简单的方法来完成整个存储库的完整和可恢复的备份(就像JDBC不包括关系数据库的备份/恢复功能一样),因此您的问题的答案取决于你正在使用哪种JCR实现。

一个适用于任何JCR实现的简单解决方案是关闭存储库并对存储库使用的所有数据执行文件系统/数据库备份。

如果您使用的是Apache Jackrabbit,则还可以使用backup feature中包含的Jackrabbit standalone jar。或者,如果您更喜欢Java API,则可以使用jackrabbit-core中包含的RepositoryCopier class访问相同的功能。使用RepositoryCopier时,您甚至可以保持源存储库运行,只要您可以在应用程序级别强制执行备份运行时没有客户端将尝试写入存储库。