META-INF/spring.factories and META-INF/spring/aot.factories in the
main source set are now checked. The checks verify that:
- Each class listed in the values exists in the source set's output
- The classes are listed alphabetically
- Nested classes are identified using their binary name
Closes gh-44676
Prior to these changes, auto-configured a DataSource required
spring-jdbc to be on the classpath even if the app made no use of any
of its features.
The changes largely remove the use of spring-jdbc during DataSoruce
auto-configure or disable some support (configuring an unpooled,
embedded database) in its absense. The extra unwrapping in
DataSourceBuilder has been removed as it appears to be redundant.
The existing test for deriving from an embedded database continues
to work without it.
Closes gh-43786
This commit allows EntityManagerFactoryBuilder to provide the JPA
properties to use according to the DataSource used to build the
EntityManagerFactory. Previously the JPA properties were computed only
once based on the primary data source, which was a problem since its
default DDL setting may be different.
EntityManagerFactoryBuilder takes a function that provides the JPA
properties based on a data source, rather than the properties
themselves. Constructors with the previous variant have been deprecated
as a result.
Closes gh-44516
This commit deprecates setObservationRegistry on
DefaultJmsListenerContainerFactoryConfigurer as it should not have been
made public in the first place. We want to make sure users don't
accidentally use it, and move it back to a package private method once
the deprecation period has run its course.
Closes gh-44466
Removed in favor of WebServerFactoryCustomizerBeanPostProcessorTests
which, through the expectations that it sets up on the mock bean
factory, already checks that early initialization will not be
triggered.
Closes gh-44511
This commit revisits the existing GraphQL configuration properties to
better reflect which ones belong to specific transports.
This also relaxes the Web auto-configurations to only require the
`ExecutionGraphQlService` as a bean. The `GraphQlSource` is now an
optional bean dependency.
Closes gh-44495