Параметры отсутствующих параметров в AEM FileDataStore - PullRequest
2 голосов
/ 26 мая 2020

Я пытаюсь настроить FileDataStore в своей локальной среде на экземпляре AEM 6.5.4 Author. Тем не менее, вопреки тому, что указано в документации :

Хранилище файловых данных

Это реализация FileDataStore, присутствующая в Jackrabbit 2. Он позволяет хранить двоичные данные как обычные файлы в файловой системе. Он использует PID org. apache .jackrabbit.oak.plugins.blob.datastore.FileDataStore. Доступны следующие параметры конфигурации:

  • repository.home: путь к домашней странице репозитория, в которой хранятся различные данные, относящиеся к репозиторию. По умолчанию двоичные файлы будут храниться в каталоге crx-quickstart / repository / datastore

  • путь: Путь к каталогу, в котором будут храниться файлы. Если указано, оно имеет приоритет над значением repository.home

  • minRecordLength: минимальный размер в байтах файла, хранящегося в хранилище данных. Двоичный контент меньше этого значения будет встроен.

Кажется, я не могу найти ни репозиторий, ни параметры конфигурации minRecordLength в моей локальной среде консоли Apache ( см. снимок экрана).

введите описание изображения здесь

Я заметил, что во всплывающем окне конфигурации отображается следующий текст:

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

Некоторые рекомендации по этой конкретной проблеме приветствуются, поскольку я никогда не настраивал хранилище файлов AEM FileDataStore. Спасибо.

1 Ответ

1 голос
/ 27 мая 2020

Консоль OSGi в любом случае не место для этого. Я даже не знал, что эта конфигурация OSGi существует.

Хранилище данных файла настроено как свойство framework. Поэтому поместите в свой sling-home каталог (= crx-quickstart для AEM) установочную папку и там файл с именем org.apache.jackrabbit.oak.plugins.blob.datastore.FileDataStore.cfg.

Вот мой реальный пример. Я использую то, что мой автор и издатели используют одно и то же хранилище данных. Это позволяет сэкономить место на диске (мне нужно много ресурсов локально).

path=C:\\aem64\\filedatastore

Эти настройки необходимо установить перед установкой AEM. В противном случае ваш репозиторий поврежден. Вот отрывок из моего локального установочного сценария для установки нового экземпляра:

  echo "Create directory `pwd`/${AEM_DIR}"
  mkdir ${AEM_DIR}
  cd ${AEM_DIR}/

  echo "Copy license file"
  cp ../install-files/license.properties .

  echo "Unpack AEM_6.4_Quickstart.jar"
  java -jar ../install-files/AEM_6.4_Quickstart.jar -unpack

  echo "Copy install folder"
  mkdir crx-quickstart/install
  cp ../install-files/org.apache.jackrabbit.oak.plugins.blob.datastore.FileDataStore.cfg crx-quickstart/install/

  if [ ! -d ../filedatastore ]; then
    echo "create filedatastore"
    mkdir ../filedatastore
  fi
  if [ ! -f ../filedatastore/reference.key ]; then
    echo "init filedatastore with reference.key"
    cp ../install-files/reference.key ../filedatastore/
  fi
fi

Для получения дополнительной информации смотрите здесь: https://jackrabbit.apache.org/oak/docs/osgi_config.html#config -sling

PS : Файл reference.key создается автоматически. Вам нужен только предварительно общий файл для репликации без двоичного кода.

...