Apéndice de Spring Modulith
Resumen de datos de referencia de Spring Modulith 2.1.1. Consultar la documentación oficial para compatibilidad y valores actualizados.
1. Compatibilidad
El apéndice oficial incluye una matriz entre versiones de Spring Modulith, Spring Boot y jMolecules, diferenciando versiones contra las que se compila y versiones en las que se prueban ejemplos. La compatibilidad depende de la versión concreta; no se debe asumir que cualquier combinación es válida.
2. Propiedades de configuración
Las propiedades se agrupan, entre otras, en estas áreas:
| Área | Ejemplos de configuración |
|---|---|
| Detección de módulos | spring.modulith.detection-strategy |
| Eventos | Modo de finalización, reintentos, publicación externa y registro de listeners |
| Persistencia de eventos | Inicialización del esquema JDBC y configuración de MongoDB |
| Tiempo | Granularidad, zona horaria y activación de TimeMachine |
| Ejecución | Verificación al inicio y migraciones Flyway por módulo |
| Pruebas | Detección de archivos cambiados y selección de tests en ausencia de cambios |
La documentación oficial describe el valor por defecto y las opciones válidas de cada propiedad.
3. Artefactos y starters
Los starters agrupan dependencias habituales; los módulos también pueden declararse individualmente según las funciones necesarias:
| Starter o artefacto | Propósito |
|---|---|
spring-modulith-starter-core | Soporte base de módulos |
spring-modulith-starter-test | Pruebas de integración de módulos |
spring-modulith-starter-insight | Actuator y observabilidad |
spring-modulith-starter-jpa / jdbc | Registro persistente de publicaciones de eventos |
spring-modulith-starter-mongodb / neo4j | Registro de eventos para esos almacenes |
spring-modulith-events-kafka / amqp / jms | Externalización de eventos a brokers o mensajería |
spring-modulith-moments | Eventos del paso del tiempo |
spring-modulith-junit | Optimización de ejecución de pruebas sensible a cambios |
4. Esquemas del registro de eventos
La implementación JDBC del registro de publicaciones requiere tablas para almacenar identificador, listener, tipo y contenido serializado del evento, fecha de publicación, estado y datos de finalización o reintento. El apéndice oficial proporciona DDL por motor de base de datos, además de variantes actuales, heredadas y de archivo.
Usar inicialización automática o migraciones propias depende de la configuración del proyecto. Si se mantienen migraciones propias, deben corresponder a la versión y modalidad de finalización configuradas.
5. Migración desde Moduliths
El apéndice recoge cambios de nombres de paquetes y tipos al migrar desde el proyecto anterior Moduliths a Spring Modulith, así como cambios en generación de diagramas y ubicación de los archivos generados. Revisar la guía de migración al actualizar código antiguo.
Referencia
- [Documentación oficial: Appendix](https://docs.spring.io/spring-modulith/reference/appendix.html) (Spring Modulith 2.1.1).