Restructure actuator packages to improve structure. The following
changes have been made:
- Separate actuator and actuator auto-configuration into different
modules.
- Move endpoint code into `spring-boot-actuator`.
- Move `Endpoint` implementations from a single package into
technology specific packages.
- Move `HealthIndicator` implementations from a single package into
technology specific packages.
- As much as possible attempt to mirror the `spring-boot` package
structure and class naming in `spring-boot-actuator` and
`spring-boot-actuator-autoconfigure`.
- Move `DataSourceBuilder` and DataSource meta-data support from
`spring-boot-actuator` to `spring-boot`.
Fixes gh-10261
This library is required for parsing multipart requests asynchronously
in Spring WebFlux. Framework treats this as an optional dependency, but
Boot auto-configures multipart support with Servlet by default.
Closes gh-10073
This commit improves the json starter to bring the core starter (as any
other starters do). `spring-web` is now also added as it contains the
Spring's core jackson support.
Closes gh-10031
This commit upgrades to the `maven-compiler-plugin` 3.6.2 that exposes
an additional property to enable the "-parameters" flag. This flag is
enabled for our own build and any project that uses
`spring-boot-starter-parent` as parent.
Closes gh-9323
This commit adds the `jackson-module-kotlin` dependency to the JSON
starter. As the other modules selected there, the goal is to provide
additional Jackson support to Spring Boot projects.
In this case, the Kotlin language is supported by many Spring projects
and this module is essential for (de)serialization with Jackson.
Note that the module has a transitive dependency on `kotlin-reflect`,
but this dependency should be brought by the application itself.
Spring Framework will configure the Kotlin Jackson module *only if* the
Kotlin sdk is present.
Closes gh-9803
This commit is a companion of what was done in #6013. As HikariCP is
now the default connection pool, the jdbc and jpa starters no longer
provide `tomcat-jdbc`, but rather `HikariCP`.
Closes gh-9392
Glassfish bundles an old and incomplete version of Glassfish. By
default, this leads to some of Jackson's classes being loaded from
inside the war file and others being loaded from Glassfish itself.
This mixture of versions does not end well and the application fails
to deploy.
This commit adds a Glassfish-specific deployment descriptor to
invert the web app class loader's delegation model. Rather than
preferring classes available from its parent, it will now prefer
those packaged inside the war file.
Closes gh-9391
This commit adds a new json starter that gathers the core bits to read
and write json with dedicated Java 8 extensions.
The web-related starters have been improved to use the new starter
rather than relying on `jackson-databind` directly.
Closes gh-9297