While the bug fixed in 3.1.x (gh-39942) has already been addressed as
a side-effect of the changes made in dbb24286, the change is merged
forwards here to improve the consistency of the code between branches.
There was a race condition between the thread that's waiting for
Tomcat to become inactive or the graceful shutdown to be aborted
and the thread that aborts the shutdown and stops Tomcat when the
grace period has elapsed. This race can lead to Tomcat appearing
to have become inactive before the abort of the shutdown is
noticed. When this happens, the result of the shutdown is reported
as IDLE when it should have been REQUESTS_ACTIVE. The consequences
of this are mostly benign although it does affect the log messages
that are emitted. It is also causing some of our graceful shutdown
tests to be flaky.
This commit eliminates the race condition by considering the
state of the aborted flag before logging and returning the result
of the shutdown.
Closes gh-39942
The PulsarTemplate recently replaced its list of ProducerInterceptors
with a list of ProducerBuilderCustomizers that customize the builder by
adding each interceptor to the builder. The PulsarAutoConfigurationTests
previosuly relied on the previous field. This commit adjusts the tests
to instead use the Customizers testing utility to verify the
interceptors.
(cherry picked from commit 9c054a021f)
See gh-39946
The PulsarTemplate recently replaced its list of ProducerInterceptors
with a list of ProducerBuilderCustomizers that customize the builder by
adding each interceptor to the builder. The PulsarAutoConfigurationTests
previosuly relied on the previous field. This commit adjusts the tests
to instead use the Customizers testing utility to verify the
interceptors.
See gh-39912
getUndertow() to UndertowWebServer returns null until the server has
been started. Issue #3016 would enable getUndertow() to behave in a
similar way to getTomcat() on TomcatWebServer.
Signed-off-by: Jakob Wanger <jakobwanger@gmail.com>
See gh-39916
It now extracts the contents of the JAR in a folder named after the JAR
without the extension. It now also checks if the folder is empty.
There's a new --force option to skip those checks.
The "runner.jar" is now named like the uber JAR from which the
extraction has been started.
See gh-38276