AEM でのリレーショナルデータベース永続性のサポートは、Document Microkernel を使用して実装されています。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 Web サイトのこちらのドキュメントを参照してください。
一部の SQL ドライバーは、既に OSGi バンドルとしてパッケージ化されています。
この場合は、jar ファイルを install-path/crx-quickstart/install/9にコピーします。
バンドルを配置したら、AEM に RDB 永続性を設定するための次の手順に従ってください。
データベースのデーモンが起動しており、AEM で使用するためのアクティブなデータベースがあることを確認します。
AEM 6.3 jar をインストールディレクトリにコピーします。
インストールディレクトリ内に crx-quickstart\install
というフォルダーを作成します。
ドキュメントノードストアを設定するために、この crx-quickstart\install
ディレクトリ内に、次の名前の設定ファイルを作成します。
org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService.config
データソースと JDBC パラメーターを設定するために、この crx-quickstart\install
フォルダー内に、また別の次の名前の設定ファイルを作成します。
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
AEM とデータベース永続性レイヤー間の通信のために必要になるパラメーターの設定には、org.apache.sling.datasource.DataSourceFactory-oak.config
OSGi 設定を使用します。
以下の設定オプションを使用できます。
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
(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
(Microsoft SQL Server の場合)(試行用)
単一データベースに対する複数の AEM インスタンスの同時使用は RDBMS の永続性によってサポートされますが、同時インストールはサポートされません。
この制限を回避するには、まず 1 つのメンバーでインストールを実行し、最初のインストールが完了した後で、他のメンバーを追加します。