AEM 6.4中的RDBMS支持

概述

使用Document Microkernel实现了对AEM中关系数据库持久性的支持。 Document Microkernel也是用于实现MongoDB持久性的基础。

它包含一个基于Mongo Java API的Java API。 还提供了BlobStore API的实现。 默认情况下,Blob存储在数据库中。

欲知实施细节的更多信息,请参见 RdbdocumentstoreRdblobstore 文档。

注意

支持 PostgreSQL 9.4 也提供了,但仅用于演示目的。 它将不适用于生产环境。

支持的数据库

有关AEM中关系数据库支持级别的详细信息,请参阅 “技术要求”页面.

配置步骤

存储库是通过配置 DocumentNodeStoreService OSGi服务。 除了MongoDB之外,它还扩展了以支持关系数据库的持久性。

为了使它正常工作,需要使用AEM配置数据源。 这是通过 org.apache.sling.datasource.DataSourceFactory.config 文件。 相应数据库的JDBC驱动程序需要作为OSGi捆绑包在本地配置中单独提供。

有关为JDBC驱动程序创建OSGi捆绑包的步骤,请参阅此 文档 Apache Sling网站上的页面。

捆绑包就绪后,请按照以下步骤配置AEM并保留RDB:

  1. 确保数据库守护程序已启动,并且您有活动数据库可与AEM一起使用。

  2. 将AEM 6.3 jar复制到安装目录中。

  3. 创建名为的文件夹 crx-quickstart\install 在安装目录中。

  4. 通过在中创建具有以下名称的配置文件来配置文档节点存储 crx-quickstart\install 目录:

    • org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService.config
  5. 通过在中创建另一个具有以下名称的配置文件来配置数据源和JDBC参数 crx-quickstart\install 文件夹:

    • org.apache.sling.datasource.DataSourceFactory-oak.config
    注意

    有关每个受支持数据库的数据源配置的详细信息,请参见 数据源配置选项.

  6. 接下来,准备要与AEM一起使用的JDBC OSGi包:

    1. crx-quickstart/install 文件夹,创建一个名为的文件夹 9.

    2. 将JDBC jar放在新文件夹中。

  7. 最后,从AEM开始 crx3crx3rdb 运行模式:

    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(实验性);
    • c om.microsoft.sqlserver.jdbc.SQLServerDriver 适用于Microsoft SQL Server(实验性)。
  • username: 数据库运行所使用的用户名。

  • password: 数据库密码。

URL字符串格式

数据源配置中使用不同的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(实验性)。

已知限制

虽然RDBMS持久性支持同时使用具有单个数据库的多个AEM实例,但并不支持并发安装。

为了解决这个问题,请确保先使用单个成员运行安装,并在第一个成员完成安装后添加其他成员。

在此页面上