Prior to the restructuring, this ordering was in place, but not
directly. BatchAutoConfiguration was ordered after
HibernateJpaAutoConfiguration which, in turn, was ordered after
DataSourceAutoConfiguration. This works as all of the
auto-configuration was in the same module.
Following the restructuring, HibernateJpaAutoConfiguration may not be
on the classpath. When it's absent, it's ordering is also lost which
means that BatchAutoConfiguration won't be ordered after
DataSourceAutoConfiguation with spring-boot-hibernate isn't present.
This commit adds explicit after ordering to BatchAutoConfiguration.
This ensures consistent ordering, with or without the JPA
auto-config.
Issue: 46071
Restructure modules packages so that all auto-configuration is
organized under single top-level autoconfigure package.
Issue: 46071
Co-authored-by: Andy Wilkinson <andy.wilkinson@broadcom.com>
Add a new `ObservationHandlerGroup` interface that allows grouping
logic to be implemented by the metrics and tracing modules. This
update removes the need for `ObservabilityAutoConfiguration`.
Issue: 45746
automaticallyRegisteredBinders
Many other tests that check that MeterBinder beans are defined
metricsFilterRegisteredForAsyncDispatches
filterRegistrationHasExpectedDispatcherTypesAndOrder in
WebMvcObservationAutoConfigurationTests
restTemplateIsInstrumented
restTemplateCreatedWithBuilderIsInstrumented in
RestTemplateObservationAutoConfigurationTests
requestMappingIsInstrumented
Various tests in WebMvcObservationAutoConfigurationTests
Issue: 46071
There was a cycle in the spring-boot-data-* modules.
SpringDataWebAutoConfiguration (which sits at the spring-data-commons
level) referenced RepositoryRestMvcAutoConfiguration (which sits
at the spring-data-rest level). This dependency's expressed in the
wrong direction as data-rest depends on data-commons. The resulting
cycle was not noticable as it was expressed through a String afterName
attribute on `@AutoConfiguration`.
spring-boot-data-commons was also using spring-boot-data-jpa for its
tests, which also results in an inverted dependency relationship.
This commit reworks things so that all of the spring-boot-data-*
modules depend upon spring-boot-data-commons, mirroring the
dependency relationship in Spring Data. The integration tests in
spring-boot-data-commons have been reworked to use Spring Data
directly, avoiding the need for a circular from
spring-boot-data-commons to another spring-boot-data-* module.
Issue: 46071