Remove test-jar artifacts from Maven projects and relocate classes. The
majority of utilities now live in the `spring-boot-testsupport` module.
This update will help us to deploy artifacts using the standard Maven
deploy plugin in the future (which doesn't support the filtering of
individual artifacts).
Fixes gh-9493
Previously, when a web environment was converted to a
StandardEnvironment, any customizations of the source environment's
ConversionService were lost.
This commit updates the logic that performs the conversion to copy
the source's ConversionService to the converted environment, thereby
ensuring that any customizations are retained.
Closes gh-9259
See gh-9246
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 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
Previously, if Jetty's thread pool was misconfigured, the Server would
still start successfully.
When it is started, the Server examines its Connectors to determine
how many threads are required. If its thread pool does not meet the
Connectors' requirements, an IllegalStateException is thrown and the
Server fails to start. However, JettyEmbeddedServletContainer
temporarily removes the Server's Connectors while it is being started
so that requests will not be accepted until the application is ready.
This has the unwanted side-effect of causing a misconfigured thread
pool to go undetected as the Connectors' thread requirements are not
taken into consideration.
The verification of the thread pool configuration and the starting of
the Connectors is done in the Server's doStart() method which has
three steps that are of interest:
1. Verify the Server's thread pool configuration
2. Start any managed beans that have been added to the Server
3. Start the Server's Connectors.
To allow the thread pool configuration to be verified while still
preventing the Connectors from being started, the Connectors need to
be removed in step 2. This is achieved by registering a managed bean
with the Server that nulls out the Server's Connectors as part of its
doStart() method.
Closes gh-8917
This commit makes sure to apply Atomikos defaults also adds a test that
validates Atomikos defaults are consistent.
As a side effect of that, `threadedTwoPhaseCommit` is now `false` (which
is effectively what users got with no customization anyway since that
default was changed in Atomikos 3.7
Closes gh-9141