Los desarrolladores de Java a menudo luchan con los despliegues fatjar, donde agregar o actualizar módulos requiere reconstruir y reiniciar toda la aplicación. La comunidad del framework Solon ha propuesto dos estrategias complementarias de extensión de plugins para abordar este problema. E-Spi (SPI externo) permite agregar extensiones mediante configuración externa y JARs de plugins, manteniendo la aplicación principal ligera. Es simple y confiable, pero requiere un reinicio para tener efecto, lo que lo hace adecuado para escenarios de externalización de configuración y división de módulos. H-Spi (SPI caliente), por otro lado, utiliza un ClassLoader independiente para cargar y descargar módulos en tiempo de ejecución, permitiendo un verdadero hot-plugging sin tiempo de inactividad. Este enfoque es potente para la activación dinámica de funciones y entornos multi-tenant, pero exige una gestión estricta del ciclo de vida de los recursos para evitar fugas de memoria y conflictos de ClassLoader. La elección entre ambos depende de si priorizas la simplicidad operativa o la flexibilidad en tiempo de ejecución. Este patrón arquitectónico no se limita a Solon: puede inspirar diseños similares en otros frameworks Java, especialmente para equipos que construyen plataformas basadas en plugins o microservicios que necesitan evolución modular.
Explora E-Spi y H-Spi, dos mecanismos de extensión de plugins para aplicaciones Java que abordan los problemas de despliegue fatjar, con compensaciones entre simplicidad de reinicio y flexibilidad de hot-swap.