Как настроить Apache Sling для использования реляционной БД - PullRequest
0 голосов
/ 30 ноября 2018

Я на Стропе 11, который использует дуб Джекраббит в качестве хранилища контента.Мне было интересно, как настроить Sling для хранения репозитория JCR в СУБД (точнее, DB2).

Я нашел эту ссылку на Jackrabbit Persistence , но похоже, что она не относится к Oak, а документация Oak в основном относится к MongoDB.

Также обнаружена реализация Cassandra Resource Provider , хотя, похоже, он предназначен для доступа к конкретным путям, сопоставленным с Cassandra, без использования Oak.

Спасибо,

1 Ответ

0 голосов
/ 05 декабря 2018

Ответы здесь, но кредит переходит к Список рассылки пользователя Sling

  1. Упакуйте драйвер БД в OSGi комплект
  2. Загрузить Sling'sстартовый проект
  3. В boot.txt добавьте новый режим работы (в моем случае oak_db2)

    [настройки] sling.run.mode.install.options = oak_tar, oak_mongo, oak_db2

  4. Загрузите проект источника данных Sling и скомпилируйте его.

  5. В oak.txt настройте режим работы (это загрузит пакеты для вас в Феликсе)):

    [артефакты startLevel = 15 runModes = oak_db2] com.h2database / h2-mvstore / 1.4.196 com.ibm.db2 / jcc4 / 11.1
    org.apache.sling/org.apache.sling.datasource / 1.0.3-SNAPSHOT

И настройка служб, которые будут управлять постоянством:

[configurations runModes=oak_db2] 
org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService
documentStoreType="RDB"

org.apache.sling.datasource.DataSourceFactory   
url="jdbc:db2://10.1.2.3:50000/sling"            
driverClassName="com.ibm.db2.jcc.DB2Driver"     
username="****"     
password="****"     
datasource.name="oak"
Создайте базу данных с именем sling. запустите с java -jar -Dsling.run.modes = oak_db2 sling-starter.jar
...