Como conectar o banco de dados do Oracle do AEM as a cloud service?
Este artigo fornece informações sobre como conectar o banco de dados do Oracle a partir do Adobe Experience Manager (AEM) as a cloud service.
Descrição description
Ambiente
Adobe Experience Manager
Problema/Sintomas
Como conectar o banco de dados do Oracle do AEM as a cloud service?
Resolução resolution
A conexão do banco de dados do Oracle a partir do AEM como um serviço na nuvem envolve as seguintes etapas:
-
Adição de dependência do Maven no pom
-
Serviço AEM para conexão com o banco de dados do Oracle
-
Configuração OSGi
Adicionando dependência Maven no pom
Etapa 1: Incluir esta dependência do Maven no pom.xml
principal do projeto
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc-bom</artifactId>
<version>21.5.0.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
Etapa 2: Incluir a dependência do Maven abaixo em pom.xml
de "core" e "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>
Serviço AEM a ser conectado ao banco de dados do Oracle
Exemplo de código de serviço para conectar com o banco de dados do AEM as a cloud service. Ele pode ser incluído no caminho
caminho {0}" pasta do projeto" núcleo" serviço
ServiçoDeBancoDeDados.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);
}
}
}
Configuração OSGi
Etapa 1: Vá para a configuração OSGi do AEM (http://localhost:4502/system/console/configMgr) no local.
Etapa 2: Pesquise por "Pool de conexão JDBC" e configure os valores abaixo com relação ao seu BD (consulte a captura de tela para obter valores de exemplo)
- Classe Driver JDBC
- URL de conexão JDBC
- Nome de usuário e senha
- Nome da fonte de dados
Etapa 3: Siga as etapas no link abaixo e converta a configuração OSGi no arquivo .cfg.json
e adicione a mesma na configuração do projeto de acordo com o AEMaaCS Standard.