Wie verbinde ich die Oracle-Datenbank von AEM as a Cloud Service?

In diesem Artikel erfahren Sie, wie Sie die Oracle-Datenbank von Adobe Experience Manager (AEM) als Cloud-Service verbinden.

Beschreibung description

Umgebung

Adobe Experience Manager

Problem/Symptome

Wie verbinde ich die Oracle-Datenbank von AEM as a Cloud Service?

Auflösung resolution

Die Verbindung der Oracle-Datenbank von AEM as a Cloud Service umfasst Folgendes:

  • Maven-Abhängigkeit in Pom hinzufügen

  • AEM Dienst für die Verbindung mit der Oracle-Datenbank

  • OSGi-Konfiguration

Maven-Abhängigkeit in Pom hinzufügen

Schritt 1: Fügen Sie die folgende Maven-Abhängigkeit in die Hauptseite Ihres Projekts ein. 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>

Schritt 2:  Die folgende Maven-Abhängigkeit in pom.xml von "core"und "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 Dienst für die Verbindung mit der Oracle-Datenbank

Beispiel-Service-Code für die Verbindung mit der Datenbank von AEM as a Cloud Service. Sie kann im Pfad {0} enthalten sein.

path {0}" project folder" 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);
 }
 }
}

OSGi-Konfiguration

Schritt 1: Wechseln Sie in der lokalen AEM zur OSGi-Konfiguration (http://localhost:4502/system/console/configMgr).

Schritt 2: Suchen Sie nach "JDBC-Verbindungspool"und konfigurieren Sie die folgenden Werte in Bezug auf Ihre DB (Beispielwerte finden Sie im Screenshot).

  • JDBC-Treiberklasse
  • JDBC-Verbindungs-URL
  • Benutzername und Kennwort
  • Datenquellenname

Schritt 3: Führen Sie die Schritte im folgenden Link aus und konvertieren Sie die OSGi-Konfiguration in .cfg.json und fügen Sie dasselbe in Ihre Projektkonfiguration gemäß AEMaaCS Standard ein.

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