Nota:
- Este tutorial está disponible en un entorno de prácticas gratuitas proporcionado por Oracle.
- Utiliza valores de ejemplo para credenciales, arrendamiento y compartimentos de Oracle Cloud Infrastructure. Al finalizar el laboratorio, sustituya estos valores por valores específicos de su entorno en la nube.
TAREA 3: Creación de una aplicación Micronaut en código VS
En este laboratorio, creará una aplicación Micronaut y configurará su aplicación para comunicarse con Oracle Autonomous Database.
GraalVM Tools for Micronaut Extension está preinstalado en el código de VS como parte del proceso de aprovisionamiento para ahorrar tiempo. El soporte de Micronaut también incluye la aplicación Lanzamiento de Micronaut que permite crear proyectos de Micronaut a través de la interfaz dentro del código de VS. En combinación con las Herramientas de GraalVM para Java Extension, que está preinstalado como dependencia, puede ejecutar proyectos de Micronaut en GraalVM Enterprise y depurarlos directamente desde VS Code.
Tiempo estimado: 15 minutos
Contenido de tarea
En esta tarea:
- Cree una nueva aplicación Micronaut
- Configurar la aplicación Micronaut para conectarse a la instancia de Oracle Autonomous Database
- Configurar controladores JDBC de Oracle Autonomous Database
- Configuración de Flyway para crear el esquema
- Definir el script de migración SQL
Paso 1: Crear una nueva aplicación Micronaut
-
En la ventana Código de VS, conectada a un host remoto, vaya a Ver y, a continuación, a Paleta de comandos (la paleta de comandos también se puede abrir pulsando F1 o la combinación de teclas de acceso rápido Ctrl+Shift+P para Linux) y busque "Coronauta".
-
Seleccione Micronaut: Crear Proyecto Micronaut para crear un proyecto Micronaut.
-
Siga las peticiones de datos del asistente para configurar el proyecto:
-
Seleccione la última versión de Micronaut disponible y no elija opciones con SNAPSHOT.
-
Seleccione el tipo de aplicación: Aplicación ficticia
-
Seleccione la última versión de Java disponible. En el momento de crear este laboratorio, es GraalVM EE 22.0.0, Java 17
-
Proporcione el nombre del proyecto: ocidemo
-
Proporcione el nombre de paquete base: com.example
-
Seleccionar el idioma del proyecto: Java
-
Agregue las funciones del proyecto: Database: Micronaut Data JDBC y Database: Oracle Database Server. Haga clic en Aceptar.
-
Recoger Maven o Gradle como herramienta de creación
-
Seleccione el marco de prueba: JUnit
-
Seleccione la carpeta de destino en la máquina host remota para guardar los archivos de proyecto: escriba /home/opc/ y pulse OK (Aceptar) para confirmar.
Los archivos de proyecto Micronaut recién creados se abrirán en el espacio de trabajo actual en VS Code.
-
Paso 2: Configurar la aplicación para conectarse a la instancia de Oracle Autonomous Database
La información y las credenciales de conexión de Oracle Cloud Autonomous Database se almacenan en Oracle Wallet. Con Micronaut puede generar y descargar automáticamente la cartera y configurar el origen de datos. Realice los siguientes pasos para utilizar la configuración de origen de datos automatizada de la cartera:
-
Haga clic en el nombre de la carpeta del proyecto en el panel izquierdo y abra el archivo
application.yml
ensrc/main/resources/
. -
Sustituya el contenido del archivo por defecto por los siguientes datos:
micronaut: application: name: ocidemo datasources: default: ocid: ocid1.autonomousdatabase.oc1... walletPassword: WALLET_PASSWORD username: DATABASE_USERNAME password: DATABASE_PASSWORD
-
Modifique la configuración predeterminada de la conexión del origen de datos.
- Vuelva a la ventana del explorador y verá la consola de la instancia de Oracle Autonomous Database. En Información de Autonomous Database > Información general, busque y copie el valor
ocid
de la instancia.
- Vuelva al código VS y, en
application.yml
, al OCID en el campoocid
. walletPassword
consiste en cifrar las claves dentro de la cartera y puede ser cualquier opción que desee (debe tener al menos ocho caracteres de longitud y debe incluir al menos una letra y un carácter numérico o un carácter especial).- Los valores
username
ypassword
deben ser el nombre y la contraseña seleccionados al crear un usuario de esquema de base de datos en la práctica anterior.
- Vuelva a la ventana del explorador y verá la consola de la instancia de Oracle Autonomous Database. En Información de Autonomous Database > Información general, busque y copie el valor
NOTA: En los archivos de código VS no se guardan automáticamente. Para guardar los cambios en un archivo concreto, vaya a Archivo, Guardar o Guardar todo para guardar las ediciones en un grupo de archivos. También puede escribir
CTLR +S
.
Paso 3: Configurar controladores JDBC de Oracle Autonomous Database
Debe especificar la versión correcta del controlador de Oracle Database y los módulos necesarios en el archivo pom.xml
en la raíz del proyecto.
-
Aplique Oracle Database BOM 21.1.0.0 o superior.
Si ha utilizado Maven, abra
pom.xml
en la raíz del proyecto e inserte lo siguiente entre las seccionesrepositories
ydependencies
:<dependencyManagement> <dependencies> <dependency> <groupId>com.oracle.database.jdbc</groupId> <artifactId>ojdbc-bom</artifactId> <version>21.1.0.0</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
Si ha utilizado Gradle, abra
build.gradle
en la raíz del proyecto e inserte lo siguiente al final del bloquedependencies
:implementation platform("com.oracle.database.jdbc:ojdbc-bom:21.1.0.0")
-
Agregue una dependencia en el módulo
micronaut-oraclecloud-atp
.Si ha utilizado Maven, abra
pom.xml
e inserte lo siguiente dentro del bloquedependencies
:<dependency> <groupId>io.micronaut.oraclecloud</groupId> <artifactId>micronaut-oraclecloud-atp</artifactId> <version>1.2.1</version> <scope>runtime</scope> </dependency>
Si ha utilizado Gradle, abra
build.gradle
y agregue lo siguiente al final del bloquedependencies
:runtimeOnly("io.micronaut.oraclecloud:micronaut-oraclecloud-atp")
-
Active el registro de SDK de OCI.
Si ha utilizado Maven, abra
pom.xml
y agregue las siguientes dependencias dentro del bloquedependencies
:<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.13</version> <scope>runtime</scope> <exclusions> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>jcl-over-slf4j</artifactId> <version>1.7.36</version> <scope>runtime</scope> </dependency>
Si ha utilizado Gradle, inserte la siguiente configuración justo encima del bloque
dependencies
:configurations.all { resolutionStrategy.dependencySubstitution { substitute(module('commons-logging:commons-logging')) .using(module('org.slf4j:jcl-over-slf4j:1.7.36')) } }
Paso 4: configure Flyway para crear el esquema
A continuación, debe activar el soporte del kit de herramientas de migración de bases de datos de rutas de código abierto, que permite definir scripts SQL que gestionen y versionen el esquema de base de datos para que pueda evolucionar gradualmente el esquema junto con las nuevas versiones de la aplicación.
-
Agregue una dependencia en
micronaut-flyway
.Si ha utilizado Maven, abra
pom.xml
e inserte lo siguiente dentro del bloquedependencies
:<dependency> <groupId>io.micronaut.flyway</groupId> <artifactId>micronaut-flyway</artifactId> <scope>runtime</scope> </dependency>
Si ha utilizado Gradle, abra
build.gradle
y agregue lo siguiente al final del bloquedependencies
:runtimeOnly("io.micronaut.flyway:micronaut-flyway")
-
Cambie al archivo
src/main/resources/application.yml
y agregue la siguiente configuración justo debajo de la seccióndatasources
en la línea 10, para permitir que Flyway se ejecute al iniciar:flyway: datasources: default: enabled: true
-
Abra el archivo
application-test.yml
ensrc/test/resources/
y sustituya el contenido por defecto del archivo por la siguiente entrada para Flyway, que contendrá la configuración de prueba y definirá Flyway para limpiar el esquema cuando se inicie la aplicación, a fin de garantizar que las pruebas se ejecuten con datos nuevos:flyway: datasources: default: clean-schema: true
NOTA: en un escenario real, debe configurar una base de datos independiente con la que ejecutar las pruebas.
Paso 5: Definición del script de migración SQL
El siguiente paso es definir el script de migración SQL que creará el esquema inicial de la aplicación.
-
Cree la carpeta
db/migration
ensrc/main/resources
. Haga clic con el botón derecho ensrc/main/resources
para ampliar el menú de contenido y seleccione Nueva carpeta: -
Cree un archivo SQL. Haga clic con el botón derecho en
src/main/resources/db/migration/
para ampliar el menú de contenido y seleccione Nuevo archivo. Asigne el nombreV1__create-schema.sql
. -
Agregue el siguiente código SQL al archivo:
CREATE TABLE "PET" ("ID" VARCHAR(36),"OWNER_ID" NUMBER(19) NOT NULL,"NAME" VARCHAR(255) NOT NULL,"TYPE" VARCHAR(255) NOT NULL); CREATE TABLE "OWNER" ("ID" NUMBER(19) PRIMARY KEY NOT NULL,"AGE" NUMBER(10) NOT NULL,"NAME" VARCHAR(255) NOT NULL); CREATE SEQUENCE "OWNER_SEQ" MINVALUE 1 START WITH 1 NOCACHE NOCYCLE;
El script SQL anterior creará tablas
owner
ypet
para almacenar datos para los propietarios y sus mascotas en Autonomous Database.
Ahora puede continuar con la siguiente tarea.