Il supporto per la persistenza del database relazionale nell'AEM viene implementato utilizzando il Document Microkernel. Il Document Microkernel è la base utilizzata anche per implementare la persistenza di 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 vengono memorizzati nel database.
Per ulteriori informazioni sui dettagli dell’implementazione, consulta 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 Pagina Requisiti tecnici.
L’archivio viene creato configurando DocumentNodeStoreService
Servizio OSGi. È stato esteso per supportare la persistenza del database relazionale oltre a MongoDB.
Affinché funzioni, è necessario configurare un’origine dati con AEM. Questa operazione viene eseguita tramite 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 driver JDBC, consulta questa pagina documentazione sul sito web Apache Sling.
Una volta che i bundle sono in posizione, segui i passaggi seguenti per configurare AEM con persistenza RDB:
Verificare che il daemon del database sia avviato e che sia disponibile un database attivo per l'utilizzo con AEM.
Copia il file jar di AEM 6.3 nella directory di installazione.
Crea una cartella denominata crx-quickstart\install
nella directory di installazione.
Configurare l'archivio dei nodi di documento creando un file di configurazione con il seguente nome in 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 in 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, crea una cartella denominata 9
.
Posiziona il file jar JDBC nella nuova cartella.
Infine, inizia AEM con crx3
e crx3rdb
modalità di esecuzione:
java -jar quickstart.jar -r crx3,crx3rdb
Il 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 da utilizzare con JDBC. Ogni tipo di database ha il proprio formato di stringa URL. Per ulteriori informazioni, consulta Formati stringa URL di seguito.
driverClassName:
Nome della classe del driver JDBC. Questo varia a seconda del database che si desidera utilizzare e, successivamente, del driver necessario per connettersi al database. 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
ad Oracle:com.mysql.jdbc.Driver
per MySQL e MariaDB (sperimentale);om.microsoft.sqlserver.jdbc.SQLServerDriver
per Microsoft SQL Server (sperimentale).username:
Il nome utente in cui viene eseguito il database.
password:
La password del database.
Nella configurazione dell’origine dati viene utilizzato un formato di stringa URL diverso a seconda del tipo di database da utilizzare. Di seguito è riportato un elenco di formati per i database attualmente supportati dall'AEM:
jdbc:postgresql:databasename
per PostgreSQL;jdbc:db2://localhost:port/databasename
per DB2;jdbc:oracle:thin:localhost:port:SID
ad Oracle:jdbc:mysql://localhost:3306/databasename
per MySQL e MariaDB (sperimentale);jdbc:sqlserver://localhost:1453;databaseName=name
per Microsoft SQL Server (sperimentale).Anche se l'uso simultaneo di più istanze AEM con un singolo database è supportato dalla persistenza RDBMS, le installazioni simultanee non lo sono.
Per ovviare a questo problema, assicurarsi di eseguire prima l'installazione con un singolo membro e aggiungere gli altri dopo che l'installazione del primo ha terminato.