使用文檔微內覈實現了對AEM中關係資料庫持久性的支援。 文檔微內核是實現MongoDB持久性的基礎。
它包含以Mongo Java API為基礎的Java API。 也提供BlobStore API的實作。 預設情況下,Blob儲存在資料庫中。
有關實施詳細資訊,請參閱RDBDocumentStore和RDBBlobStore文檔。
此外,也支援PostgreSQL 9.4,但僅用於示範用途。 它將無法用於生產環境。
有關AEM中關係資料庫支援級別的詳細資訊,請參閱技術要求頁。
儲存庫是通過配置DocumentNodeStoreService
OSGi服務建立的。 除了MongoDB外,它還擴展了它以支援關係資料庫持久性。
資料來源必須使用AEM進行設定,才能運作。 這是透過org.apache.sling.datasource.DataSourceFactory.config
檔案完成。 相應資料庫的JDBC驅動程式需要作為本地配置內的OSGi包單獨提供。
有關為JDBC驅動程式建立OSGi套件組合的步驟,請參閱Apache Sling網站上的此檔案。
某些SQL驅動程式已打包為OSGi包。
如果是這種情況,請將jar檔案複製到install-path/crx-quickstart/install/9。
套件組合就緒後,請依照下列步驟以使用RDB持續性設定AEM:
確保資料庫守護程式已啟動,並且您有可與AEM一起使用的活動資料庫。
將AEM 6.3 jar複製到安裝目錄。
在安裝目錄中建立名為crx-quickstart\install
的資料夾。
通過在crx-quickstart\install
目錄中建立以下名稱的配置檔案來配置文檔節點儲存:
org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService.config
通過在crx-quickstart\install
資料夾中建立另一個具有以下名稱的配置檔案來配置資料源和JDBC參數:
org.apache.sling.datasource.DataSourceFactory-oak.config
有關每個受支援資料庫的資料源配置的詳細資訊,請參閱資料源配置選項。
接下來,準備要與AEM一起使用的JDBC OSGi套件組合:
mysql-connector-java-version-bin.jar
(套件組合)最後,以crx3
和crx3rdb
執行模式啟動AEM :
java -jar quickstart.jar -r crx3,crx3rdb
org.apache.sling.datasource.DataSourceFactory-oak.config
OSGi配置用於配置AEM和資料庫持久層之間通信所需的參數。
可使用下列設定選項:
datasource.name:
資料來源名稱。預設值為oak
。
url:
需要與JDBC一起使用的資料庫的URL字串。每個資料庫類型都有其自己的URL字串格式。 如需詳細資訊,請參閱下方的URL字串格式。
driverClassName:
JDBC驅動程式類名。這會因您要使用的資料庫以及隨後連接到該資料庫所需的驅動程式而異。 以下是AEM支援的所有資料庫的類名:
org.postgresql.Driver
(適用於PostgreSQL;com.ibm.db2.jcc.DB2Driver
DB2;oracle.jdbc.OracleDriver
oracle;com.mysql.jdbc.Driver
(MySQL和MariaDB);om.microsoft.sqlserver.jdbc.SQLServerDriver
for Microsoft SQL Server(實驗性)。username:
資料庫運行的用戶名。
password:
資料庫密碼。
根據需要使用的資料庫類型,在資料源配置中使用不同的URL字串格式。 以下是AEM目前支援的資料庫格式清單:
jdbc:postgresql:databasename
(適用於PostgreSQL;
jdbc:db2://localhost:port/databasename
DB2;
jdbc:oracle:thin:localhost:port:SID
oracle;
jdbc:mysql://localhost:3306/databasename
(MySQL和MariaDB);
jdbc:sqlserver://localhost:1453;databaseName=name
(實驗)。
雖然RDBMS持續性支援同時使用具有單一資料庫的多個AEM例項,但不支援同時安裝。
要解決此問題,請確保先使用單個成員運行安裝,然後在完成安裝後添加其他成員。