Параметры отсутствующих параметров в AEM FileDataStore

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

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

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

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

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

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

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

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

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

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

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


person nabello    schedule 26.05.2020    source источник
comment
Не могли бы вы дать отзыв на предоставленный ответ?   -  person Alexander Berndt    schedule 29.05.2020


Ответы (1)


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

Хранилище данных файла настроено как свойство платформы. Поэтому поместите в свой домашний каталог (= 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 создается автоматически. Вам нужен только предварительно общий файл для менее двоичной репликации.

person Alexander Berndt    schedule 26.05.2020
comment
Спасибо за это решение! Я хочу сделать это с помощью ванильной банки Apache Sling Starter. Если у вас есть идеи, дайте мне знать stackoverflow.com/ questions / 63569028 / - person Cris Rockwell; 25.08.2020