Observação:

TAREFA 3: Criar um Aplicativo Micronaut no Código VS

Neste laboratório, você criará um aplicativo Micronaut e configurará seu aplicativo para se comunicar com o Oracle Autonomous Database.

As Ferramentas do GraalVM para a Extensão Micronaut são pré-instaladas no VS Code como parte do processo de provisionamento para economizar tempo. O suporte Micronaut também inclui o aplicativo Micronaut Launch que permite criar projetos Micronaut por meio da interface dentro do VS Code. Em combinação com as Ferramentas do GraalVM para Java Extension, que são pré-instaladas como dependência, você pode executar projetos Micronaut no GraalVM Enterprise e depurá-los diretamente no VS Code.

Tempo Estimado: 15 minutos

Conteúdo da Tarefa

Nesta tarefa você:

Etapa 1: Crie um Novo Aplicativo Micronaut

  1. Na janela Código do VS, conectada a um host remoto, vá para Exibir, depois Paleta de Comandos (A Paleta de Comandos também pode ser aberta pressionando F1 ou a combinação de teclas de atalho Ctrl+Shift+P para Linux) e procure "Micronaut".

  2. Selecione Micronaut: Criar Projeto Micronaut para criar um projeto Micronaut.

  3. Siga os prompts do assistente para configurar o projeto:

    • Selecione a versão mais recente do Micronaut disponível e não escolha opções com SNAPSHOT

    • Selecione o tipo de aplicativo: Aplicativo Micronaut

    • Escolha a versão mais recente do Java disponível. No momento da criação deste laboratório, ele é GraalVM EE 22.0.0, Java 17

    • Forneça o nome do projeto: ocidemo

    • Forneça o nome do pacote base: com.example

    • Escolher linguagem do projeto: Java

    • Adicione as funcionalidades do projeto: Banco de Dados Micronaut JDBC e Banco de Dados: Servidor do Oracle Database. Pressione OK

    • Selecione Maven ou Gradle como a ferramenta de criação

    • Selecione o framework de teste: JUnit

    • Escolha a pasta de destino na máquina host remota para salvar os arquivos do projeto: digite /home/opc/ e pressione OK para confirmar.

    Seus arquivos de projeto Micronaut recém-criados serão abertos no espaço de trabalho atual no Código VS.

Etapa 2: Configurar o Aplicativo para Conexão com a Instância do Oracle Autonomous Database

As informações e credenciais da conexão do Oracle Cloud Autonomous Database são armazenadas na Oracle Wallet. Com o Micronaut, você pode gerar e fazer download automaticamente da Wallet e configurar a origem de dados. Conclua as próximas etapas para usar a configuração da origem de dados automatizada da Wallet:

  1. Clique no nome da pasta do projeto no painel esquerdo e abra o arquivo application.yml em src/main/resources/.

  2. Substitua o conteúdo do arquivo padrão pelos seguintes dados:

    micronaut:
      application:
        name: ocidemo
    datasources:
      default:
        ocid: ocid1.autonomousdatabase.oc1...
        walletPassword: WALLET_PASSWORD
        username: DATABASE_USERNAME 
        password: DATABASE_PASSWORD
    
  3. Modifique as definições de conexão da origem de dados padrão.

    • Retorne a janela do browser e você deverá ver a console da instância do Oracle Autonomous Database. Em Informações do Autonomous Database > Informações Gerais, localize e copie o valor ocid da sua instância.

    ID da instância do Oracle Autonomous Database

    • Retorne ao Código VS e, em application.yml, OCID no campo ocid.
    • O walletPassword é criptografar as chaves dentro da wallet e pode ser qualquer coisa de sua escolha (deve ter pelo menos oito caracteres e deve incluir pelo menos uma letra e um caractere numérico ou um caractere especial).
    • Os valores username e password devem ser o nome e a senha que você escolheu ao criar um usuário do esquema de banco de dados no laboratório anterior.

OBSERVAÇÃO: nos arquivos de Código VS não são salvos automaticamente. Para salvar suas alterações em um arquivo específico, vá para Arquivo, Salvar ou Salvar Tudo para salvar edições em vários arquivos. Como alternativa, digite CTLR +S.

Etapa 3: Configurar Drivers JDBC do Oracle Autonomous Database

Você precisa especificar a versão correta do Oracle Database Driver e os módulos necessários no arquivo pom.xml na raiz do seu projeto.

  1. Aplique o Oracle Database BOM 21.1.0.0 ou mais recente.

    Se você usou o Maven, abra pom.xml na raiz do seu projeto e insira o seguinte entre as seções repositories e dependencies:

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

    Se você usou o Gradle, abra build.gradle na raiz do seu projeto e insira o seguinte no final do bloco dependencies:

    implementation platform("com.oracle.database.jdbc:ojdbc-bom:21.1.0.0")
    
  2. Adicione uma dependência no módulo micronaut-oraclecloud-atp.

    Se você usou o Maven, abra pom.xml e insira o seguinte dentro do bloco dependencies:

    <dependency>
        <groupId>io.micronaut.oraclecloud</groupId>
        <artifactId>micronaut-oraclecloud-atp</artifactId>
        <version>1.2.1</version>
        <scope>runtime</scope>
    </dependency>
    

    Se você usou Gradle, abra build.gradle e adicione o seguinte ao final do bloco dependencies:

    runtimeOnly("io.micronaut.oraclecloud:micronaut-oraclecloud-atp")
    
  3. Ative o log do OCI SDK.

    Se você usou o Maven, abra o pom.xml e adicione as seguintes dependências dentro do bloco dependencies:

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

    Se você usou o Gradle, insira a seguinte configuração logo acima do bloco dependencies:

    configurations.all {
        resolutionStrategy.dependencySubstitution {
            substitute(module('commons-logging:commons-logging'))
                    .using(module('org.slf4j:jcl-over-slf4j:1.7.36'))
        }
    }
    

Etapa 4: Configure o Caminho para Criar o Esquema

Em seguida, você precisa ativar o suporte para o kit de ferramentas de migração de banco de dados de código aberto, que permite definir scripts SQL que gerenciam e versões do seu esquema de banco de dados para que você possa evoluir gradualmente o esquema junto com as novas versões do seu aplicativo.

  1. Adicione uma dependência em micronaut-flyway.

    Se você usou o Maven, abra pom.xml e insira o seguinte dentro do bloco dependencies:

    <dependency>
        <groupId>io.micronaut.flyway</groupId>
        <artifactId>micronaut-flyway</artifactId>
        <scope>runtime</scope>
    </dependency>
    

    Se você usou Gradle, abra build.gradle e adicione o seguinte ao final do bloco dependencies:

    runtimeOnly("io.micronaut.flyway:micronaut-flyway")
    
  2. Alterne para o arquivo src/main/resources/application.yml e adicione a seguinte configuração logo abaixo da seção datasources na linha 10, para permitir que o Flyway seja executado na inicialização:

    flyway:
      datasources:
        default:
          enabled: true
    
  3. Abra o arquivo application-test.yml em src/test/resources/ e substitua o conteúdo padrão do arquivo pela seguinte entrada para o Flyway, que conterá sua configuração de teste e definir o Flyway para limpar o esquema quando o aplicativo for iniciado, para garantir que os testes sejam executados com novos dados:

    flyway:
      datasources:
        default:
          clean-schema: true
    

OBSERVAÇÃO: em um cenário de mundo real, você configuraria um banco de dados separado para executar seus testes.

Etapa 5: Definindo o Script de Migração SQL

A próxima etapa é definir o script de migração SQL que criará o esquema inicial do aplicativo.

  1. Crie a pasta db/migration em src/main/resources. Clique com o botão direito do mouse em src/main/resources para expandir o menu de conteúdo e selecione Nova Pasta:

    Criar uma nova pasta no Código VS

  2. Criar um arquivo SQL. Clique com o botão direito do mouse em src/main/resources/db/migration/ para expandir o menu de conteúdo e selecione Novo Arquivo. Nomeie-o como V1__create-schema.sql.

  3. Adicione o seguinte código SQL ao arquivo:

    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;
    

    O script SQL acima criará tabelas owner e pet para armazenar dados de proprietários e seus pets no Autonomous Database.

Agora você pode passar para a próxima tarefa.

Saiba Mais