Graceful shutdown is not sufficient on its own to ensure that in-flight
requests are handled during pod termination. The preStop hook should be
used to provide sufficient time for in-flight requests.
Signed-off-by: Dave Syer <david.syer@broadcom.com>
See gh-48936
ResolvableType.NONE represents a type that does not exist and,
therefore could not be loaded. A bean of such a type cannot be
present in the BeanFactory so querying it for beans of that type
is pointless.
This commit updates OnBeanCondition to return immediately rather
than querying the BeanFactory by type for beans that we know cannot
be present.
Fixes gh-48836
Previously, a type in a bean condition was handled as a
ResolvableType. When the type was not present on the classpath
it would be represented as ResolvableType.NONE which renders as ?.
This resulted in some type information being omitted from the
condition evaluation report.
This commit introduces a pair, ByteType, the holds both the name of
the type as a String as well as the ResolvableType that represents
it. When that ResolvableType is NONE, the String name of the type
is used thereby avoiding the information loss.
Fixes gh-48835
At the time of writing, VirtualThreadSchedulerMXBean does not work in
a GraalVM native image (oracle/graal#12802). An attempt to retrieve
the MXBean results in an IllegalArgumentException being thrown. This
causes a failure when serializing ProcessInfo to JSON, breaking the
Actuator's info endpoint when management.info.process.enabled=true.
This commit updates ProcessInfo to be more defensive when working
with the MXBean. Now, if any exception is thrown, null will be
returned for the virtual threads info. This approach should allow the
functionality to work whenever a fix is made in Graal without
requiring further changes in Boot.
Fixes gh-48810
This is a follow-on from 9239447.
A recent change [1] in Spring Data Neo4j require us to configure the
use of an older dialect as we're testing with Neo4j 4 and the default
dialect now requires Neo4j 5.
See gh-48708
[1] f2d7ba7314
A recent change [1] in Spring Data Neo4j require us to configure the
use of an older dialect as we're testing with Neo4j 4 and the default
is now Neo4j 5.
See gh-48708
[1] f2d7ba7314