AEM as a cloud service에서 Oracle 데이터베이스를 연결하는 방법

이 문서에서는 Adobe Experience Manager(AEM) as a cloud service에서 Oracle 데이터베이스를 연결하는 방법에 대해 설명합니다.

설명 description

환경

Adobe Experience Manager

문제/증상

AEM as a cloud service에서 Oracle 데이터베이스를 연결하는 방법

해결 방법 resolution

AEM as a cloud service에서 Oracle 데이터베이스를 연결하는 단계는 다음과 같습니다.

  • pom에 Maven 종속성 추가

  • Oracle 데이터베이스와 연결할 AEM 서비스

  • OSGi 구성

pom에 Maven 종속성 추가

1단계: 프로젝트의 주 pom.xml에 이 Maven 종속성 포함

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

2단계: 아래 Maven 종속성을 "core"와 "all"의 pom.xml에 포함합니다.

<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>

Oracle 데이터베이스에 연결할 AEM 서비스

AEM as a cloud service에서 데이터베이스와 연결하는 샘플 서비스 코드. {0} 경로에 포함될 수 있습니다.

경로 {0}" 프로젝트 폴더" 핵심" 서비스

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 구성

1단계: 로컬에서 AEM OSGi 구성(http://localhost:4502/system/console/configMgr)으로 이동합니다.

2단계: "JDBC 연결 풀"을 검색하고 DB와 관련하여 아래 값을 구성합니다(샘플 값은 스크린샷 참조).

  • JDBC 드라이버 클래스
  • JDBC 연결 URL
  • 사용자 이름 및 암호
  • 데이터 소스 이름

3단계: 아래 링크의 단계에 따라 OSGi 구성을 .cfg.json 파일로 변환한 다음 AEMaaCS 표준에 따라 프로젝트 구성에 추가하십시오.

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

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