Cet article explore une approche prête pour la production pour construire une infrastructure de plugins utilisant PF4J (Plugin Framework for Java) combiné avec des sous-conteneurs Spring. L'auteur détaille comment réaliser l'isolation des chargeurs de classe, gérer les cycles de vie des plugins et s'intégrer de manière transparente avec Spring Boot. Les décisions architecturales clés incluent l'utilisation de contextes Spring séparés pour chaque plugin afin d'éviter les conflits de beans et de permettre une configuration indépendante. L'article couvre également la gestion des métadonnées des plugins, les stratégies de rechargement à chaud et la communication entre les plugins et l'application hôte. Pour les développeurs concevant des plateformes extensibles, ce modèle offre une alternative robuste à OSGi ou au simple scan du classpath.
Un guide pratique pour créer un système de plugins dynamique avec PF4J et les sous-conteneurs Spring, avec des perspectives architecturales et des considérations pratiques.