Integração de Bibliotecas Java Personalizadas com Mirth Connect

Este guia detalha o processo de criação e utilização de bibliotecas Java personalizadas (JARs) dentro do Mirth Connect, uma plataforma de integração e intercâmbio de dados. Abordaremos desde a configuração do ambiente de desenvolvimento até a chamada dessas bibliotecas em canais do Mirth.

Configuração do Ambiente de Desenvolvimento

1. Instalação do Apache Maven

Recomenda-se a versão 3.6.3. Baixe o executável em https://maven.apache.org/download.cgi. Após a instalação, configure a variável de ambiente PATH do sistema e verifique a instalação executando mvn -v no terminal.

Otimização do Repositório Maven

Para acelerar downloads, edite o arquivo setting.xml (localizado no diretório conf da sua instalação do Maven) e adicione os seguintes espelhos para o repositório da Aliyun:


<mirrors>
    <!-- Repositório Aliyun -->
    <mirror>
        <id>alimaven</id>
        <mirrorOf>central</mirrorOf>
        <name>aliyun maven</name>
        <url>https://maven.aliyun.com/nexus/content/repositories/central/</url>
    </mirror>

    <mirror>
        <id>nexus-aliyun</id>
        <mirrorOf>central</mirrorOf>
        <name>Nexus aliyun</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public</url>
    </mirror>
</mirrors>

2. Instalação do Visual Studio Code (VS Code)

Baixe e instale o IDE de código aberto da Microsoft em https://code.visualstudio.com/.

3. Instalação do Azul OpenJDK 11

Instale a versão 11 do OpenJDK fornecida pela Azul, que é oficialmente suportada pela Microsoft para desenvolvimento com Java no VS Code. O download está disponível em https://www.azul.com/downloads/azure-only/zulu/?version=java-11-lts&os=windows&architecture=x86-64-bit&package=jdk.

4. Instalação de Extensões Java para VS Code

No VS Code, instale as seguintes extensões para habilitar o desenvolvimento Java:

  • Language Support for Java(TM) by Red Hat: Fornece recursos de linguagem Java.
  • Debugger for Java: Permite a depuração de código Java.
  • Java Test Runner: Executa e depura testes JUnit.
  • Maven for Java: Integração com o Maven para gerenciamento de projetos.

Criação e Configuração do Projeto Java

5. Criação de um Projeto Maven

Pressione Ctrl+Shift+P para abrir a paleta de comandos, digite Java e selecione Create Java Project. Em seguida, escolha Maven e opte pelo arquétipo maven-archetype-quickstart. Siga as instruções no terminal para fornecer informações como groupId, artifactId, version e o nome do pacote principal.

Gerenciamento de Múltiplas Versões de JDK

O Mirth Connect requer o Oracle JDK 8 para sua operação, enquanto o VS Code pode utilizar o OpenJDK 11 para desenvolvimento. É crucial configurar ambos os ambientes corretamente. Após criar o projeto Maven no VS Code, selecione o projeto e use a opção Setup JDKs for Project and VS Code java para configurar os ambientes JDK apropriados. Certifique-se de que tanto o JDK 8 quanto o JDK 11 estejam instalados e reconhecidos pelo VS Code.

Dentro das configurações do projeto, pode ser necessário ajustar o arquivo pom.xml para especificar a versão do Java (por exemplo, 1.8) e configurar o ambiente de tempo de execução do Java tooling no VS Code para JDK 11.

Desenvolvimento e Depuração

6. Modificação e Depuração do Código da Aplicação

Abra o diretório do projeto no VS Code. Para depurar, abra o painel de depuração com Ctrl+Shift+D. Um exemplo de código para uma biblioteca JAR personalizada é:


package com.example.mirthlib;

/**
 * Exemplo de classe para Mirth Connect.
 */
public class SampleLibrary {

    public String greet(String name) {
        return "Olá, " + name + "!";
    }

    public static String getWelcomeMessage() {
        return "Bem-vindo à biblioteca personalizada!";
    }

    public int sum(int[] numbers) {
        int total = 0;
        for (int number : numbers) {
            total += number;
        }
        return total;
    }
}

Compile este código usando Maven (mvn clean install) para gerar o arquivo JAR no diretório target.

Integração com Mirth Connect

7. Carregamento da Biblioteca JAR no Mirth Connect

Abra o Mirth Connect Administrator. Navegue até Settings > Resources. Especifique o caminho para o diretório onde seu arquivo JAR compilado está localizado (por exemplo, D:\Mirth\custom_jars). Clique em Reload Resource para que o Mirth Connect carregue a nova biblioteca.

8. Criação de um Novo Canal de Teste

Crie um novo canal no Mirth Connect para testar a funcionalidade da sua biblioteca personalizada.

9. Chamada da Biblioteca Personalizada em Scripts JavaScript

Na seção de transformação do lado do código-fonte (Source Transformer) do seu canal, você pode chamar os métodos da sua biblioteca Java usando JavaScript. O Mirth Connect fornece acesso a um ClassLoader isolado para carregar bibliotecas externas.


// Cria um novo ClassLoader isolado
var isolatedClassLoader = Packages.com.mirth.connect.server.util.ClassUtil.initClassLoader(null);
// Acessa a biblioteca usando o ClassLoader isolado
var sampleLib = Java.type('com.example.mirthlib.SampleLibrary');

// Chamada de método estático
logger.info(sampleLib.getWelcomeMessage());

// Chamada de método de instância
var instance = new sampleLib();
logger.info(instance.greet('Mirth User'));

// Chamada de método com array
var data = [10, 20, 30];
var result = instance.sum(data);
logger.info('A soma é: ' + result);

10. Publicação e Teste do Canal

Salve e publique o canal. Execute os testes necessários para garantir que a biblioteca personalizada esteja funcionando como esperado.

Considerações Finais

  • O Mirth Connect permite o uso de bibliotecas JAR personalizadas, especificando um diretório de recursos. O serviço do Mirth não precisa ser reiniciado para que as bibliotecas sejam carregadas.
  • Ao configurar um canal, a seleção de um diretório de recursos permite que esse canal específico utilize as bibliotecas contidas nele.
  • A invocação de bibliotecas Java customizadas via scripts JavaScript estende significativamente as capacidades de integração e processamento de dados do Mirth Connect.

Tags: java maven mirth connect JDK ide

Publicado em 6-18 21:12