¿Cómo conectar la base de datos de Oracle AEM desde el servicio en la nube de as a?

Este artículo proporciona información sobre cómo conectar la base de datos de Oracle desde Adobe Experience Manager AEM () as a Cloud Service.

Descripción description

Entorno

Adobe Experience Manager

Problema/Síntomas

¿Cómo conectar la base de datos de Oracle AEM desde el servicio en la nube de as a?

Resolución resolution

La conexión de la base de datos de Oracle AEM desde el servicio en la nube de as a implica lo siguiente:

  • Adición de la dependencia de Maven en pom

  • AEM Servicio para conectarse con la base de datos de Oracle

  • Configuración de OSGi

Adición de la dependencia de Maven en pom

Paso 1: Incluya la siguiente dependencia de Maven en el proyecto principal pom.xml

<dependency>
 <groupId>com.oracle.database.jdbc</groupId>
 <artifactId>ojdbc-bom</artifactId>
 <version>21.5.0.0</version>
 <type>pom</type>
 <scope>import</scope>
 </dependency>

Paso 2:  Incluya la siguiente dependencia de Maven en pom.xml de "core" y "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>

AEM Servicio para conectarse con la base de datos de Oracle

AEM Código de servicio de ejemplo para conectarse con la base de datos desde el servicio en la nube de as a Cloud Service de la plataforma de datos de. Se puede incluir en la ruta

ruta de acceso {0}" carpeta de proyecto" servicio principal"

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);
 }
 }
}

Configuración de OSGi

Paso 1: AEM Vaya a la configuración de OSGi (http://localhost:4502/system/console/configMgr) en la configuración local de.

Paso 2: Busque "Grupo de conexión JDBC" y configure los siguientes valores con respecto a su base de datos (consulte la captura de pantalla para ver valores de muestra)

  • Clase de controlador JDBC
  • URL de conexión JDBC
  • Nombre de usuario y contraseña
  • Nombre de la fuente de datos

Paso 3: Siga los pasos del vínculo siguiente y convierta la configuración OSGi en .cfg.json y agregue lo mismo a la configuración de su proyecto según el estándar AEMaaCS.

https://experienceleague.adobe.com/docs/experience-manager-cloud-service/content/implementing/deploying/configuring-osgi.html?lang=en#generating-osgi-configurations-using-the-aem-sdk-quickstart

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f