Gerador Super-POJO

O gerador super-POJO é essencial para manter uma lógica de negócios consistente em diferentes versões da mesma interface Open API.

Descrição

O código compartilhado inclui:

  • Um gerador de interface de comando super-POJO (na versão 20241101, ele só é compatível com Java 8)
  • Uma biblioteca que implementa uma versão do mapeador para traduzir super-POJOs para POJOs e vice-versa.

Descrição do código

  • O gerador de super-POJOs:
    • Esta ferramenta utiliza reflexão para recuperar os atributos de Objetos Java Antigos Simples (POJOs)
    • Ele oferece uma variedade de opções de geração, incluindo:
      • Expressões regulares personalizáveis para identificar getters e setters
      • Adicionar toString
      • Incluir hashcode e iguais
      • Adicionar-estilo
      • Criar adders de elementos para listas
      • ............
    • A biblioteca jcodemodel é usada para gerar o código
  • A biblioteca de mapeamento:
    • Utiliza a reflexão para identificar os atributos que precisam de tradução
    • Emprega um cache para evitar repetir a inspeção de reflexão várias vezes
    • Permite a adição de tradutores manuais ao mapeador
    • Fornece tradução recursiva de cada parâmetro de um POJO para outro

O processo de tradução de reflexão é lento e, se houver muitos pedidos, pode criar um gargalo.

Com base nos meus testes, que envolveram o tratamento de várias centenas de pedidos por segundo, a execução tende a parar durante os primeiros segundos.

Após esse período inicial, a execução torna-se significativamente mais rápida.

Existem algumas razões pelas quais isso pode ocorrer:

  • No início, o cache não é povoado.
  • Depois de algum tempo, o otimizador JVM (JIT, Just-In-Time) é ativado, traduzindo o código mais usado em código de máquina altamente otimizado.

Tente aquecer a execução antes de abrir os portos de escuta para evitar um tempo de atraso no início.

Windows

Gerador Super-POJO (2024)

Download

Versões

image

O gerador de super pojo nasceu da necessidade de unificar diferentes versões de modelos pojo, a fim de tentar oferecer uma lógica comum a todas as versões.

Você pode ver mais detalhes sobre o aplicativo e a biblioteca associada noprojeto superpojo-modelo no github

Downloads