使用Document Microkernel實現了對關AEM系資料庫持久性的支援。 Document Microkernel也是實現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
檔案完成。 在本地配置中,需要分別以OSGi捆綁包的形式提供相應資料庫的JDBC驅動程式。
如需建立JDBC驅動程式的OSGi組合的步驟,請參閱Apache Sling網站上的此documentation。
有些SQL驅動程式已打包為OSGi捆綁包。
如果是這樣,則只需將jar檔案複製到install-path/crx-quickstart/install/9。
在捆綁包就位後,請遵循下列步驟以配置RDBAEM持久性:
確保資料庫守護程式已啟動,並且您有一個活動資料庫可用於AEM。
將6AEM.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
有關每個支援資料庫的資料源配置的詳細資訊,請參見資料源配置選項。
接著,準備要與以下項目一起使用的JDBC OSGi捆綁包AEM:
mysql-connector-java-version-bin.jar
(包)最後,AEM從crx3
和crx3rdb
執行模式開始:
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
for 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
for 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
for Microsoft SQL Server(實驗性)。
雖然RDBMS持久性支AEM持在單個資料庫上同時使用多個實例,但併發安裝則不支援。
為瞭解決這個問題,請務必先使用單一成員運行安裝,然後在完成安裝後添加其他成員。