spring-boot/spring-boot-tests/spring-boot-smoke-tests
Andy Wilkinson 2f83a6714b Rework DataSource initialization
Previously, DataSource initialization was triggered via a
BeanPostProcessor or a schema created event from JPA. This caused
numerous problems with circular dependencies, bean lifecycle, etc and
added significant complexity.

This commit reworks DataSource initialization to remove the use of a
BeanPostProcessor entirely. In its place, DataSource initialization is
now driven by an InitializingBean with dependency relationships
between beans ensuring that initialization has been performed before
the DataSource is used. This aligns with the approach that's worked
well with Flyway and Liquibase.

More changes are planned to further simplify DataSource initialization.
The changes in this commit are a foundation for those changes. Any new
public API in this commit is highly likely to change before the next
GA.

Fixes gh-13042
Fixes gh-23736
2021-02-17 12:10:22 +00:00
..
spring-boot-smoke-test-activemq Add junit-platform-launcher dependency by convention 2021-02-02 13:03:21 +00:00
spring-boot-smoke-test-actuator Merge branch '2.4.x' 2021-02-02 15:14:18 +00:00
spring-boot-smoke-test-actuator-custom-security Merge branch '2.4.x' 2021-02-02 15:14:18 +00:00
spring-boot-smoke-test-actuator-log4j2 Add junit-platform-launcher dependency by convention 2021-02-02 13:03:21 +00:00
spring-boot-smoke-test-actuator-noweb Add junit-platform-launcher dependency by convention 2021-02-02 13:03:21 +00:00
spring-boot-smoke-test-actuator-ui Add junit-platform-launcher dependency by convention 2021-02-02 13:03:21 +00:00
spring-boot-smoke-test-amqp Add junit-platform-launcher dependency by convention 2021-02-02 13:03:21 +00:00
spring-boot-smoke-test-animated-banner Add junit-platform-launcher dependency by convention 2021-02-02 13:03:21 +00:00
spring-boot-smoke-test-ant Add junit-platform-launcher dependency by convention 2021-02-02 13:03:21 +00:00
spring-boot-smoke-test-aop Add junit-platform-launcher dependency by convention 2021-02-02 13:03:21 +00:00
spring-boot-smoke-test-atmosphere Merge branch '2.3.x' into 2.4.x 2021-02-02 15:12:27 +00:00
spring-boot-smoke-test-batch Add junit-platform-launcher dependency by convention 2021-02-02 13:03:21 +00:00
spring-boot-smoke-test-bootstrap-registry Improve ConfigData processing code 2020-10-15 11:33:57 -07:00
spring-boot-smoke-test-cache Add junit-platform-launcher dependency by convention 2021-02-02 13:03:21 +00:00
spring-boot-smoke-test-data-couchbase Add junit-platform-launcher dependency by convention 2021-02-02 13:03:21 +00:00
spring-boot-smoke-test-data-elasticsearch Add junit-platform-launcher dependency by convention 2021-02-02 13:03:21 +00:00
spring-boot-smoke-test-data-jdbc Merge branch '2.3.x' into 2.4.x 2021-02-02 15:12:27 +00:00
spring-boot-smoke-test-data-jpa Merge branch '2.3.x' into 2.4.x 2021-02-02 15:12:27 +00:00
spring-boot-smoke-test-data-ldap Add junit-platform-launcher dependency by convention 2021-02-02 13:03:21 +00:00
spring-boot-smoke-test-data-mongodb Add junit-platform-launcher dependency by convention 2021-02-02 13:03:21 +00:00
spring-boot-smoke-test-data-neo4j Merge branch '2.3.x' into 2.4.x 2021-02-02 15:12:27 +00:00
spring-boot-smoke-test-data-r2dbc Merge branch '2.3.x' into 2.4.x 2021-02-02 15:12:27 +00:00
spring-boot-smoke-test-data-r2dbc-flyway Merge branch '2.3.x' into 2.4.x 2021-02-02 15:12:27 +00:00
spring-boot-smoke-test-data-r2dbc-liquibase Merge branch '2.3.x' into 2.4.x 2021-02-02 15:12:27 +00:00
spring-boot-smoke-test-data-redis Add junit-platform-launcher dependency by convention 2021-02-02 13:03:21 +00:00
spring-boot-smoke-test-data-rest Add junit-platform-launcher dependency by convention 2021-02-02 13:03:21 +00:00
spring-boot-smoke-test-devtools Add junit-platform-launcher dependency by convention 2021-02-02 13:03:21 +00:00
spring-boot-smoke-test-flyway Add junit-platform-launcher dependency by convention 2021-02-02 13:03:21 +00:00
spring-boot-smoke-test-hateoas Add junit-platform-launcher dependency by convention 2021-02-02 13:03:21 +00:00
spring-boot-smoke-test-hazelcast3 Merge branch '2.3.x' into 2.4.x 2021-02-02 15:12:27 +00:00
spring-boot-smoke-test-hibernate52 Add junit-platform-launcher dependency by convention 2021-02-02 13:03:21 +00:00
spring-boot-smoke-test-integration Add junit-platform-launcher dependency by convention 2021-02-02 13:03:21 +00:00
spring-boot-smoke-test-jersey Merge branch '2.3.x' into 2.4.x 2021-02-02 15:12:27 +00:00
spring-boot-smoke-test-jetty Add junit-platform-launcher dependency by convention 2021-02-02 13:03:21 +00:00
spring-boot-smoke-test-jetty-jsp Add junit-platform-launcher dependency by convention 2021-02-02 13:03:21 +00:00
spring-boot-smoke-test-jetty-ssl Add junit-platform-launcher dependency by convention 2021-02-02 13:03:21 +00:00
spring-boot-smoke-test-jpa Merge branch '2.3.x' into 2.4.x 2021-02-02 15:12:27 +00:00
spring-boot-smoke-test-jta-atomikos Add junit-platform-launcher dependency by convention 2021-02-02 13:03:21 +00:00
spring-boot-smoke-test-jta-jndi/src/main Port the build to Gradle 2020-01-10 14:15:35 +00:00
spring-boot-smoke-test-junit-vintage Merge branch '2.3.x' into 2.4.x 2021-02-02 15:12:27 +00:00
spring-boot-smoke-test-kafka Merge branch '2.3.x' into 2.4.x 2021-02-02 15:12:27 +00:00
spring-boot-smoke-test-liquibase Add junit-platform-launcher dependency by convention 2021-02-02 13:03:21 +00:00
spring-boot-smoke-test-logback Add junit-platform-launcher dependency by convention 2021-02-02 13:03:21 +00:00
spring-boot-smoke-test-oauth2-client Add junit-platform-launcher dependency by convention 2021-02-02 13:03:21 +00:00
spring-boot-smoke-test-oauth2-resource-server Merge branch '2.3.x' into 2.4.x 2021-02-02 15:12:27 +00:00
spring-boot-smoke-test-parent-context Add junit-platform-launcher dependency by convention 2021-02-02 13:03:21 +00:00
spring-boot-smoke-test-profile Merge branch '2.3.x' into 2.4.x 2021-02-02 15:12:27 +00:00
spring-boot-smoke-test-property-validation Add junit-platform-launcher dependency by convention 2021-02-02 13:03:21 +00:00
spring-boot-smoke-test-quartz Add junit-platform-launcher dependency by convention 2021-02-02 13:03:21 +00:00
spring-boot-smoke-test-reactive-oauth2-client Add junit-platform-launcher dependency by convention 2021-02-02 13:03:21 +00:00
spring-boot-smoke-test-reactive-oauth2-resource-server Add junit-platform-launcher dependency by convention 2021-02-02 13:03:21 +00:00
spring-boot-smoke-test-rsocket Merge branch '2.3.x' into 2.4.x 2021-02-02 15:12:27 +00:00
spring-boot-smoke-test-saml2-service-provider Merge branch '2.3.x' into 2.4.x 2021-02-02 15:12:27 +00:00
spring-boot-smoke-test-secure Add junit-platform-launcher dependency by convention 2021-02-02 13:03:21 +00:00
spring-boot-smoke-test-secure-jersey Merge branch '2.4.x' 2021-02-02 15:14:18 +00:00
spring-boot-smoke-test-secure-webflux Merge branch '2.4.x' 2021-02-02 15:14:18 +00:00
spring-boot-smoke-test-servlet Add junit-platform-launcher dependency by convention 2021-02-02 13:03:21 +00:00
spring-boot-smoke-test-session Merge branch '2.3.x' into 2.4.x 2021-02-02 15:12:27 +00:00
spring-boot-smoke-test-session-webflux Merge branch '2.3.x' into 2.4.x 2021-02-02 15:12:27 +00:00
spring-boot-smoke-test-simple Merge branch '2.3.x' into 2.4.x 2021-02-02 15:12:27 +00:00
spring-boot-smoke-test-test Rework DataSource initialization 2021-02-17 12:10:22 +00:00
spring-boot-smoke-test-test-nomockito Add junit-platform-launcher dependency by convention 2021-02-02 13:03:21 +00:00
spring-boot-smoke-test-testng Add junit-platform-launcher dependency by convention 2021-02-02 13:03:21 +00:00
spring-boot-smoke-test-tomcat Add junit-platform-launcher dependency by convention 2021-02-02 13:03:21 +00:00
spring-boot-smoke-test-tomcat-jsp Add junit-platform-launcher dependency by convention 2021-02-02 13:03:21 +00:00
spring-boot-smoke-test-tomcat-multi-connectors Add junit-platform-launcher dependency by convention 2021-02-02 13:03:21 +00:00
spring-boot-smoke-test-tomcat-ssl Add junit-platform-launcher dependency by convention 2021-02-02 13:03:21 +00:00
spring-boot-smoke-test-traditional Merge branch '2.3.x' into 2.4.x 2021-02-02 15:12:27 +00:00
spring-boot-smoke-test-undertow Add junit-platform-launcher dependency by convention 2021-02-02 13:03:21 +00:00
spring-boot-smoke-test-undertow-ssl Add junit-platform-launcher dependency by convention 2021-02-02 13:03:21 +00:00
spring-boot-smoke-test-war Add junit-platform-launcher dependency by convention 2021-02-02 13:03:21 +00:00
spring-boot-smoke-test-web-freemarker Add junit-platform-launcher dependency by convention 2021-02-02 13:03:21 +00:00
spring-boot-smoke-test-web-groovy-templates Add junit-platform-launcher dependency by convention 2021-02-02 13:03:21 +00:00
spring-boot-smoke-test-web-jsp Add junit-platform-launcher dependency by convention 2021-02-02 13:03:21 +00:00
spring-boot-smoke-test-web-method-security Merge branch '2.3.x' into 2.4.x 2021-02-02 15:12:27 +00:00
spring-boot-smoke-test-web-mustache Add junit-platform-launcher dependency by convention 2021-02-02 13:03:21 +00:00
spring-boot-smoke-test-web-secure Merge branch '2.3.x' into 2.4.x 2021-02-02 15:12:27 +00:00
spring-boot-smoke-test-web-secure-custom Merge branch '2.3.x' into 2.4.x 2021-02-02 15:12:27 +00:00
spring-boot-smoke-test-web-secure-jdbc Merge branch '2.3.x' into 2.4.x 2021-02-02 15:12:27 +00:00
spring-boot-smoke-test-web-static Add junit-platform-launcher dependency by convention 2021-02-02 13:03:21 +00:00
spring-boot-smoke-test-web-ui Add junit-platform-launcher dependency by convention 2021-02-02 13:03:21 +00:00
spring-boot-smoke-test-webflux Add junit-platform-launcher dependency by convention 2021-02-02 13:03:21 +00:00
spring-boot-smoke-test-webflux-coroutines Add junit-platform-launcher dependency by convention 2021-02-02 13:03:21 +00:00
spring-boot-smoke-test-webservices Add junit-platform-launcher dependency by convention 2021-02-02 13:03:21 +00:00
spring-boot-smoke-test-websocket-jetty Merge branch '2.3.x' into 2.4.x 2021-02-02 15:12:27 +00:00
spring-boot-smoke-test-websocket-tomcat Merge branch '2.3.x' into 2.4.x 2021-02-02 15:12:27 +00:00
spring-boot-smoke-test-websocket-undertow Merge branch '2.3.x' into 2.4.x 2021-02-02 15:12:27 +00:00
spring-boot-smoke-test-xml Add junit-platform-launcher dependency by convention 2021-02-02 13:03:21 +00:00