Générateur Super-POJO

Le générateur super-POJO est essentiel pour maintenir une logique métier cohérente entre les différentes versions de la même interface Open API.

Désignation

Le code partagé comprend :

  • Une interface de commande super-POJO générateur (dans la version 20241101, il est seulement compatible avec Java 8)
  • Une bibliothèque qui implémente une version du mapper pour traduire les super-POJO en POJO et vice versa.

Description du code

  • Le générateur de super-POJOs:
    • Cet outil utilise la réflexion pour récupérer les attributs de Plain Old Java Objects (POJOs)
    • Il offre une variété d'options de génération, y compris:
      • Expressions régulières personnalisables pour identifier les getters et setters
      • Ajouter àString
      • Incluez hashcode et equals
      • Ajouter un style constructeur
      • Créer des additionneurs d'éléments pour les listes
      • ...
    • La bibliothèque jcodemodel est utilisée pour générer le code
  • La bibliothèque de mapping :
    • Utilise la réflexion pour identifier les attributs qui ont besoin d'être traduits
    • Employe une cache pour éviter de répéter l'inspection de réflexion plusieurs fois
    • Permet l'ajout de traducteurs manuels au cartographe
    • Fournit une traduction récursive de chaque paramètre d'un POJO à un autre

Le processus de traduction par réflexion est lent, et s'il y a beaucoup de demandes, cela peut créer un goulot d'étranglement.

Sur la base de mes tests, qui consistaient à traiter plusieurs centaines de requêtes par seconde, l’exécution a tendance à caler pendant les premières secondes.

Après cette période initiale, l'exécution devient beaucoup plus rapide.

Il y a plusieurs raisons pour lesquelles cela pourrait se produire:

  • Dans un premier temps, le cache n'est pas rempli.
  • Après un certain temps, l'optimiseur JVM (JIT, Just-In-Time) s'active, traduisant le code le plus fréquemment utilisé en code machine hautement optimisé.

Essayez d'échauffer l'exécution avant d'ouvrir les ports d'écoute pour éviter un temps de latence au début.

Windows

Générateur Super-POJO (2024)

Télécharger

Versions

image

Le générateur de super pojo est né de la nécessité d'unifier différentes versions de modèles de pojo, afin d'essayer d'offrir une logique commune à toutes les versions.

Vous pouvez voir plus de détails sur l'application et la bibliothèque associée dans leprojet superpojo-model sur github

Téléchargements