Tweak build to contain a dedicated ci build profile for Javadoc creation post delombokification. Added an artifactory build profile to set up Artifactory deployment for milestones and snapshots.
Cleanups in sonatype build profile to avoid the definition of a snapshot repository to avoid snapshots accidentally be deployed there.
Turn embedded MongoDB test setup into proper bean definitions to make sure databases get started and shut down properly with ApplicationContexts. Previously, the database was held in a static variable shut down after a particular test class had been concluded but bean instances held in the cached (and potentially reused ApplicationContext) were still referring to that already shut down database which prevented then from shutting down properly.
A couple of renames in the exposed APIs. MapBasedEventPublicationRepository now uses a a TreeMap again instead of a List (closer to what the original EventPublicationRegistry did).
Cleanups in the JDBC event registry module. Polish pom.xml to minimize dependencies. Removed custom DatabaseType in favor of Boot's DatabaseDriver. Tweaked the auto-configuration of the JDBC module to not even expose a DatabaseSchemaInitializer in the first place to avoid having to wire the boolean flag into the latter.
Cleanups in test cases to avoid code duplication. Move to @JdbcTest to avoid having to depend on Spring Data JDBC.
Enable nullability checks, formatting, Javadoc, author tags, missing license headers.
- Introduce Repository interface as a customization point
- Get rid of Registry interface by having one generic implementation
- Combine EventPublication and all its subclasses in one domain object
- Make Repository instead of Registry be dependent on EventSerializer
Signed-off-by: Dmitry Belyaev <dbelyaev@vmware.com>
Re-enable observability module after a migration from Spring Cloud Sleuth to Micrometer. Bind the application of the observability instrumentation to the management.tracing.enabled flag.
Upgrade to Spring Boot 3 and Java 17 as project baselines. Removed legacy JavaEE modules and replaced them by ones compatible with JakartaEE 9.
Disabled the Observability module for now as Spring Cloud Sleuth has been removed the Boot 3 compatible Spring Cloud branch and we need to migrate the module to Micrometer first.