Comment connecter la base de données Oracle d’AEM as a Cloud Service ?
Cet article explique comment connecter la base de données Oracle à partir de Adobe Experience Manager (AEM) as a Cloud Service.
Description description
Environnement
Adobe Experience Manager
Problème/Symptômes
Comment connecter la base de données Oracle d’AEM as a Cloud Service ?
Résolution resolution
La connexion de la base de données Oracle à partir d’AEM as a Cloud Service implique les étapes suivantes :
-
Ajout d’une dépendance Maven dans pom
-
Service AEM pour se connecter à la base de données Oracle
-
Configuration OSGi
Ajout d’une dépendance Maven dans pom
Étape 1 : Inclure cette dépendance Maven dans le pom.xml
principal de votre projet
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc-bom</artifactId>
<version>21.5.0.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
Étape 2 : Incluez la dépendance maven ci-dessous dans pom.xml
de "core" et "all".
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc8</artifactId>
</dependency>
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ucp</artifactId>
</dependency>
<dependency>
<groupId>com.oracle.database.xml</groupId>
<artifactId>xdb</artifactId>
</dependency>
Service AEM pour se connecter à la base de données Oracle
Exemple de code de service pour se connecter à la base de données à partir d’AEM as a Cloud Service. Elle peut être incluse dans le chemin
chemin d’accès {0}" dossier du projet" core service"
DatabaseService.java
package com.mysite.core.services;
public interface DatabaseService {
}
DatabaseServiceImpl.java
package com.mysite.core.services;
import com.day.commons.datasource.poolservice.DataSourcePool;
import org.osgi.service.component.annotations.Activate;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Reference;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.sql.DataSource;
import java.sql.Connection;
@Component(
service = DatabaseService.class,
immediate = true
)
public class DatabaseServiceImpl implements DatabaseService {
private final Logger LOGGER = LoggerFactory.getLogger(DatabaseService.class);
@Reference
private DataSourcePool dataSourcePool;
@Activate
public void activate() {
try {
DataSource dataSource = (DataSource) dataSourcePool.getDataSource("oracle");
Connection connection = dataSource.getConnection();
if (connection != null) {
if (!connection.isClosed()) {
LOGGER.info("Connected with connection #4");
connection.close();
}
}
else {
LOGGER.info("Connection is null");
}
} catch (Exception ex) {
LOGGER.error("It was not possible to get the data source: " + ex.getMessage(), ex);
}
}
}
Configuration OSGi
Étape 1 : Accédez à AEM configuration OSGi (http://localhost:4502/system/console/configMgr) en local.
Étape 2 : Recherchez "JDBC Connection pool" et configurez les valeurs ci-dessous par rapport à votre base de données (voir la capture d’écran pour des exemples de valeurs).
- Classe de pilote JDBC
- URL de connexion JDBC
- Nom d’utilisateur et mot de passe
- Nom de la source de données
Étape 3 : Suivez les étapes du lien ci-dessous et convertissez la configuration OSGi en fichier .cfg.json
et ajoutez-la à la configuration de votre projet conformément à la norme AEMaaCS.