Ondersteuning voor relationele databasedruk in AEM wordt geïmplementeerd met behulp van Document Microkernel. De Document Microkernel is de basis die ook wordt gebruikt voor de implementatie van MongoDB-persistentie.
Deze API bestaat uit een Java API die is gebaseerd op de API van Mongo Java. Er wordt ook een implementatie van een BlobStore-API geleverd. Standaard worden klodders opgeslagen in de database.
Raadpleeg de documentatie RDBDocumentStore en RDBBlobStore voor meer informatie over de implementatiedetails.
Ondersteuning voor PostgreSQL 9.4 wordt ook geboden, maar alleen voor demo-doeleinden. Het zal niet beschikbaar voor productiemilieu's zijn.
Raadpleeg de pagina Technische vereisten voor meer informatie over het niveau van ondersteuning voor relationele databases in AEM.
De opslagplaats wordt gecreeerd door de DocumentNodeStoreService
dienst te vormen OSGi. Naast MongoDB is de toepassing uitgebreid met ondersteuning voor relationele databasepersistentie.
Om het te werken, moet een gegevensbron met AEM worden gevormd. Dit gebeurt via het org.apache.sling.datasource.DataSourceFactory.config
-bestand. De bestuurders JDBC voor het respectieve gegevensbestand moeten afzonderlijk als bundels OSGi binnen de lokale configuratie worden verstrekt.
Zie documentatie op de Apache Sling-website voor stappen voor het maken van OSGi-bundels voor JDBC-stuurprogramma's.
Sommige SQL-stuurprogramma's zijn al verpakt als OSGi-bundels.
Als dit het geval is, kopieert u het jar-bestand naar install-path/crx-quickstart/install/9.
Nadat de bundels zijn geïnstalleerd, volgt u de onderstaande stappen om AEM te configureren met RDB-persistentie:
Zorg ervoor dat de databasdaemon is gestart en dat u een actieve database hebt voor gebruik met AEM.
Kopieer de AEM 6.3 jar in de installatiemap.
Maak een map met de naam crx-quickstart\install
in de installatiemap.
Vorm de opslag van de documentknoop door een configuratiedossier met de volgende naam in de crx-quickstart\install
folder te creëren:
org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService.config
Vorm de gegevensbron en de parameters JDBC door een ander configuratiedossier met de volgende naam in de crx-quickstart\install
omslag te creëren:
org.apache.sling.datasource.DataSourceFactory-oak.config
Voor gedetailleerde informatie over de gegevensbronconfiguratie voor elke gesteunde gegevensbestand, zie Opties van de Configuratie van de Gegevensbron.
Bereid daarna de bundels JDBC OSGi voor die met AEM moeten worden gebruikt:
mysql-connector-java-version-bin.jar
(bundel) uit archief extraherenStart ten slotte AEM met de runmodi crx3
en crx3rdb
:
java -jar quickstart.jar -r crx3,crx3rdb
De org.apache.sling.datasource.DataSourceFactory-oak.config
configuratie OSGi wordt gebruikt om de parameters te vormen nodig voor communicatie tussen AEM en de laag van de gegevensbestandpersistentie.
De volgende configuratieopties zijn beschikbaar:
datasource.name:
De naam van de gegevensbron. De standaardwaarde is oak
.
url:
De URL-tekenreeks van de database die moet worden gebruikt met JDBC. Elk databasetype heeft een eigen URL-tekenreeksindeling. Zie URL-tekenreeksindelingen hieronder voor meer informatie.
driverClassName:
De naam van de JDBC-stuurprogrammaklasse. Dit verschilt afhankelijk van de database die u wilt gebruiken en vervolgens van het stuurprogramma dat nodig is om verbinding met de database te maken. Hieronder ziet u de klassenamen voor alle databases die worden ondersteund door AEM:
org.postgresql.Driver
voor PostgreSQL;com.ibm.db2.jcc.DB2Driver
voor DB2;oracle.jdbc.OracleDriver
voor Oracle;com.mysql.jdbc.Driver
voor MySQL en MariaDB (experimenteel);om.microsoft.sqlserver.jdbc.SQLServerDriver
voor Microsoft SQL Server (experimenteel).username:
De gebruikersnaam waaronder de database wordt uitgevoerd.
password:
Het databasewachtwoord.
Afhankelijk van het databasetype dat moet worden gebruikt, wordt in de configuratie van de gegevensbron een andere indeling voor de URL-tekenreeks gebruikt. Hieronder volgt een lijst met indelingen voor de databases die momenteel AEM ondersteunen:
jdbc:postgresql:databasename
voor PostgreSQL;
jdbc:db2://localhost:port/databasename
voor DB2;
jdbc:oracle:thin:localhost:port:SID
voor Oracle;
jdbc:mysql://localhost:3306/databasename
voor MySQL en MariaDB (experimenteel);
jdbc:sqlserver://localhost:1453;databaseName=name
voor Microsoft SQL Server (experimenteel).
Hoewel gelijktijdig gebruik van meerdere AEM instanties met één database wordt ondersteund door RDBMS-persistentie, zijn gelijktijdige installaties niet mogelijk.
Als u dit wilt omzeilen, moet u eerst de installatie uitvoeren met één lid en de andere leden toevoegen nadat de eerste installatie is voltooid.