Move projects to better reflect the way that Spring Boot is released.
The following projects are under `spring-boot-project`:
- `spring-boot`
- `spring-boot-autoconfigure`
- `spring-boot-tools`
- `spring-boot-starters`
- `spring-boot-actuator`
- `spring-boot-actuator-autoconfigure`
- `spring-boot-test`
- `spring-boot-test-autoconfigure`
- `spring-boot-devtools`
- `spring-boot-cli`
- `spring-boot-docs`
See gh-9316
This commit changes the default client to Lettuce. This has the side
effect of making the `spring-boot-starter-redis-reactive` irrelevant.
Recent improvements made pooling optional so `commons-pool2` is no
longer provided by default either.
Closes gh-10480
This commit clarifies that DataSourceInitializedEvent is only to be
used by the datasource initializer facility and JPA (Hibernate). The
even is renamed to DataSourceSchemaCreatedEvent to clarify what it
actually signals.
Closes gh-4292
This commit clarifies the scope of the datasource initializr. In
particular, it is not possible to create the schema with that facility
and let Hibernate creates additional tables.
Closes gh-9048
This commit separates the lifecycle of the datasource initialization
from DataSourceInitializer itself. It also makes sure that a @Primary
data source is no longer required.
Closes gh-10502
Previously, if the file watcher thread tried to stop the
FileSystemWatcher when another thread was already stopping it a
livelock could occur. The livelock occurred because the file watcher
thread would attempt to lock a monitor that was being held by a thread
that had joined the file watcher thread and was waiting for it to die.
This commit avoid the livelock by narrowing the synchronization that's
used when stopping the FileSystemWatcher. The monitor is used to
obtain a reference to the file watcher thread in a thread-safe manner,
but it is released prior to joining the file watcher thread and
waiting for it to die. This will allow a parallel attempt by the
file watcher thread to stop itself to succeed.
Closes gh-10496