Как сделать снимок из резервной копии и восстановления из JCR (Java Content Repository) - PullRequest
3 голосов
/ 11 сентября 2011

Как сделать снимок для резервного копирования / восстановления JCR-репозитория?

Мне нужна полная целостность.Это означает, что один снимок, созданный одной командой резервного копирования, должен быть действительным без какой-либо внешней зависимости.И это может быть полностью восстановлено в другом экземпляре JCP.Это означает, что если я восстановлю изображение снимка в экземпляр JCR, все существующие данные в хранилище должны быть очищены, а все данные в снимке должны быть восстановлены точно так же, как это было в предыдущем хранилище.

Это нормально останавливает все службысделать это.Сначала я предпочитаю честность.

Как я могу это сделать?

1 Ответ

2 голосов
/ 23 сентября 2011

Сам JCR API не предоставляет простого способа сделать полное и восстанавливаемое резервное копирование всего хранилища (точно так же, как JDBC не охватывает функции резервного копирования / восстановления реляционных баз данных), поэтому ответ на ваш вопрос зависит от какую реализацию JCR вы используете.

Простое решение, которое должно работать с любой реализацией JCR, - закрыть хранилище и сделать резервную копию файловой системы / базы данных всех данных, используемых хранилищем.

Если вы используете Apache Jackrabbit , вы также можете использовать функцию резервного копирования , включенную в автономную банку Jackrabbit . Или, если вы предпочитаете Java API, вы можете получить доступ к той же функциональности, используя класс RepositoryCopier , включенный в ядро ​​jackrabbit-core. При использовании RepositoryCopier вы можете даже оставить исходный репозиторий работающим до тех пор, пока на уровне приложения можно будет принудительно установить, что ни один клиент не будет пытаться выполнить запись в репозиторий во время выполнения резервного копирования.

...