AEM 6.4中的RDBMS支持

概述

使用文档微内核实现了对AEM中关系数据库持久性的支持。 文档微内核是用于实现MongoDB持久性的基础。

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

有关实施详细信息的更多信息,请参阅RDBDocumentStoreRDBBlobStore文档。

注意

此外,还提供了对​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:

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

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

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

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

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

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

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

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

    1. 从https://dev.mysql.com/downloads/connector/j/下载ZIP存档
      • 版本必须>= 5.1.38
    2. 从存档中提取mysql-connector-java-version-bin.jar(包)
    3. 使用Web控制台安装并启动包:
      • 转到​http://serveraddress:serverport/system/console/bundles
      • 选择​Install/Update
      • 浏览以选择从下载的ZIP存档中提取的包
      • 检查​Oracle公司的MySQLcom.mysql.jdbc JDBC驱动程序是否处于活动状态,并启动它。
  7. 最后,以crx3crx3rdb运行模式启动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);
    • c om.microsoft.sqlserver.jdbc.SQLServerDriver for 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 (实验)。

已知限制

虽然RDBMS持久性支持将多个AEM实例与单个数据库并发使用,但不支持并发安装。

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

在此页面上