Il supporto per la persistenza del database relazionale in AEM viene implementato utilizzando il Microsoft Document. Il Document Microkernel è la base utilizzata anche per implementare la persistenza MongoDB.
È costituito da un’API Java basata sull’API Java Mongo. Viene inoltre fornita un’implementazione di un’API BlobStore. Per impostazione predefinita, i BLOB sono memorizzati nel database.
Per ulteriori informazioni sui dettagli di implementazione, consulta la RDBDocumentStore e RDBBlobStore documentazione.
Supporto per PostgreSQL 9.4 viene fornito anche, ma solo a scopo dimostrativo. Non sarà disponibile per gli ambienti di produzione.
Per ulteriori informazioni sul livello di supporto del database relazionale in AEM, vedere la Pagina Requisiti tecnici.
L’archivio viene creato configurando il DocumentNodeStoreService
Servizio OSGi. È stato esteso per supportare la persistenza del database relazionale oltre a MongoDB.
Affinché funzioni, è necessario configurare un’origine dati con AEM. Questo avviene tramite il org.apache.sling.datasource.DataSourceFactory.config
file. I driver JDBC per il rispettivo database devono essere forniti separatamente come bundle OSGi all'interno della configurazione locale.
Per i passaggi sulla creazione di bundle OSGi per i driver JDBC, consulta questo documentazione sul sito web Apache Sling.
Una volta installati i bundle, segui i passaggi seguenti per configurare AEM con la persistenza RDB:
Assicurati che il daemon di database sia avviato e che sia presente un database attivo da utilizzare con AEM.
Copia il jar AEM 6.3 nella directory di installazione.
Crea una cartella denominata crx-quickstart\install
nella directory di installazione.
Configura l'archivio dei nodi del documento creando un file di configurazione con il seguente nome nel crx-quickstart\install
directory:
org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService.config
Configura l’origine dati e i parametri JDBC creando un altro file di configurazione con il seguente nome nella crx-quickstart\install
cartella:
org.apache.sling.datasource.DataSourceFactory-oak.config
Per informazioni dettagliate sulla configurazione dell'origine dati per ciascun database supportato, vedere Opzioni di configurazione dell’origine dati.
Quindi, prepara i bundle JDBC OSGi da utilizzare con AEM:
In crx-quickstart/install
cartella, creare una cartella denominata 9
.
Posiziona il jar JDBC nella nuova cartella.
Infine, inizia AEM con il crx3
e crx3rdb
modalità di esecuzione:
java -jar quickstart.jar -r crx3,crx3rdb
La org.apache.sling.datasource.DataSourceFactory-oak.config
La configurazione OSGi viene utilizzata per configurare i parametri necessari per la comunicazione tra AEM e il livello di persistenza del database.
Sono disponibili le seguenti opzioni di configurazione:
datasource.name:
Nome dell'origine dati. Il valore predefinito è oak
.
url:
Stringa URL del database che deve essere utilizzata con JDBC. Ogni tipo di database ha il proprio formato stringa URL. Per ulteriori informazioni, consulta Formati di stringa URL sotto.
driverClassName:
Nome della classe del driver JDBC. Questo varia a seconda del database che si desidera utilizzare e, successivamente, del driver necessario per connettersi ad esso. Di seguito sono riportati i nomi delle classi per tutti i database supportati da AEM:
org.postgresql.Driver
per PostgreSQL;com.ibm.db2.jcc.DB2Driver
per DB2;oracle.jdbc.OracleDriver
per Oracle;com.mysql.jdbc.Driver
per MySQL e MariaDB (sperimentale);om.microsoft.sqlserver.jdbc.SQLServerDriver
per Microsoft SQL Server (sperimentale).username:
Il nome utente con cui viene eseguito il database.
password:
Password del database.
Nella configurazione dell’origine dati viene utilizzato un formato di stringa URL diverso a seconda del tipo di database che deve essere utilizzato. Di seguito è riportato un elenco dei formati per i database che AEM attualmente supportano:
jdbc:postgresql:databasename
per PostgreSQL;jdbc:db2://localhost:port/databasename
per DB2;jdbc:oracle:thin:localhost:port:SID
per Oracle;jdbc:mysql://localhost:3306/databasename
per MySQL e MariaDB (sperimentale);jdbc:sqlserver://localhost:1453;databaseName=name
per Microsoft SQL Server (sperimentale).Mentre l’utilizzo simultaneo di più istanze AEM con un singolo database è supportato dalla persistenza RDBMS, le installazioni simultanee non lo sono.
Per risolvere il problema, assicurati di eseguire prima l'installazione con un singolo membro e di aggiungere gli altri al termine della prima installazione.