Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Как переключить постоянство jackrabbit с файловой системы на базу данных?

Автор вопроса: ewernliОтветов: 2

У меня есть портал Liferay, настроенный на использование постоянства файловой системы для jackrabbit.

Кажется, что этот режим сохранения создает много файлов в файловой системе (пока что около 113 000), и я медленно достигаю квоты количества файлов на сервере.

Затем я хотел бы переключиться на постоянство базы данных. Я знаю, как его настроить, но Я не знаю, как перенести существующий контент.

Экспорт и импорт различных библиотек (документов, изображений и т. д.) требует много работы и чреват ошибками, особенно потому, что это многосетевое развертывание. Кроме того, я не знаю, будет ли он воссоздавать тот же точный URL-адрес для документов, что для меня важно.


Краткое обновление:

Мне удалось перейти на Liferay 6. Однако нет возможности перенести данные зайца из файловой системы в базу данных из Liferay; то, что предлагает панель "Миграция данных", - это переход с хука jcr на другой хук сохранения.

Моя первоначальная проблема заключалась не в том, чтобы иметь данные в базе данных, а в том, чтобы уменьшить количество файлов в файловой системе (ограничение квоты). Затем я переключился на FileSystemHook.

Вот количество файлов (find . | wc -l).

  • JCRHook: 107566
  • Файловая системаHook: 2810.

Не знаю, почему Jackrabbit создает так много файлов...

  • Привет, вы выяснили причину, по которой с помощью JCRHook создается слишком много файлов? Я просто пытаюсь определиться с реализацией, потому что у меня будет много файлов с множеством свойств примесей. Поэтому я боюсь, что если я выберу jackrabit BundleFsPersistenceManager с localFileSystem, я могу попасть в ту же ситуацию, что и вы lisak 17.03.2011

liferayjackrabbitglassfish-webspace

Ответы

Ответ 1 · рейтинг 4 · Arnaud Deslandes

В Liferay 6 есть новая специальная страница в администрировании портала, предназначенная для облегчения такой миграции. Вы должны войти в систему как администратор (omniadmin, если у вас есть несколько экземпляров портала на вашем сервере) и перейти в панель управления. В панели "Администрирование сервера" щелкните меню "Миграция данных", и вам будет предложено выполнить миграцию из файловой системы в базу данных.

Похоже, вы еще не используете Liferay 6 (Glassfish WebSpace Server - это Liferay 5.2), поэтому есть несколько вариантов:

  • обновить сам портал с 5.x до 6.0.5, как описано в Liferay Wiki и используйте страницу миграции.
  • оставайтесь со своей версией и создайте специальный класс, вдохновленный теми, которые были предоставлены Liferay в версии 6.
  • экспортировать страницы сообщества (Liferay ARchive), создать новый портал с сохранением БД и импортировать страницы и их содержимое.

Я бы выбрал миграцию либо со всем порталом (но есть вероятность, что это не что-то в вашей дорожной карте), либо со специальными классами миграции.

Арно

Ответ 2 · рейтинг 3 · Thomas Mueller

Существует несколько способов миграции, большинство из них описаны в Jackrabbit Wiki:

Экспорт в XML может не работать для больших репозиториев, так как использует слишком много памяти (нужно попробовать). Я никогда не использовал другие инструменты миграции, поэтому не могу их прокомментировать.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы