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
Previously, BeanCurrentlyInCreationFailureAnalyzer would return
a FailureAnalysis for any BeanCurrentlyInCreationException even if
it could not determine where the cycle begins. This could lead to an
inaccurate diagram of the cycle being output.
This commit updates BeanCurrentlyInCreationFailureAnalyzer so that
it abandons its analysis and returns null if it is unable to determine
where the cycle begins.
Closes gh-8164
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
This commit ensures that `setLogLevel` on the `LoggingSystem` accepts
a `null` level. A `null` level means any customization sets on that
level should be removed and the default configuration should be used
instead.
Effectively, the level of the parent logger is going to be used when
`setLevel` is called with `null` for a given logger.
Most JMX clients do not accept to pass `null` for an argument so an
empty String is translated to null in that specific case.
Closes gh-8776
Calling launch of PropertiesLauncherTests sets the thread context
class loader to an instance of LaunchedURLClassLoader. To avoid this
class loader being used beyond the scope of the test and launcher
that created it, this commit updates PropertiesLauncherTests to
capture the TCCL before each test and restore it after each test.
Closes gh-9378
This commit makes sure to reuse an existing or auto-configured
`JdbcTemplate` when auto-configuring a `NamedParameterJdbcTemplate`.
This ensures that whatever customizations have been applied on the
`JdbcTemplate` are properly shared.
Closes gh-4945
- Manage byte-buddy-agent in addition to byte-buddy
- Remove dependency management from spring-boot-parent now that
dependency management for Byte Buddy is provided in
spring-boot-dependencies
Closes gh-9373
Previously, Spring Boot's Gradle plugin provided custom software
components (bootJava and bootWeb) for publishing the artifacts created
by the standard bootJar and bootWar tasks respectively. Providing a
custom software component requires the usage of some of Gradle's
internal APIs and this has now proven to be more trouble than it is
worth.
This commit removes the custom software component and documents how
to publish the artifact created by a BootJar or BootWar task directly
instead.
Closes gh-9153