Previously, if a failure occurred when evaluating conditions on a
separate thread, an NPE would occur on the main thread as the
expected array of outcomes was null.
This commit avoids the NPE and the lack of error reporting by
rethrowing on the main thread any failure that occurs on the
separate thread that's spawned to parallelize the evaluation.
Closes gh-41492
Update Logback and Log4j2 integrations to support structured logging.
Support for the ECS and Logstash JSON formats is provided out-of-the-box
and the `StructuredLogFormatter` interface may be used to if further
custom formats need to be supported.
Closes gh-5479
Co-authored-by: Phillip Webb <phil.webb@broadcom.com>
Add `JsonWriter` utility interface that can be used to write JSON
without the need for a third-party library.
Closes gh-41489
Co-authored-by: Moritz Halbritter <moritz.halbritter@broadcom.com>
This is a follow-up to spring-projects/spring-framework#27619
This commit adds support for "org.webjars:webjars-locator-lite" for
enabling the statis resources chain.
As of this commit, support for "org.webjars:webjars-locator-core" is
deprecated for obvious performance reasons.
Closes gh-40146
As explained in gh-41348, the BP_SPRING_AOT_ENABLED flag should
not be promoted as it can't work by design with our current
support when combined with CDS for various use cases and provides
little added value as the same behavior can be achieved by adding
-Dspring.aot.enabled=true to JAVA_TOOL_OPTIONS and
CDS_TRAINING_JAVA_TOOL_OPTIONS.
See gh-41464
- Deprecate Deprecate @MockBean and @SpyBean in favor of Spring
Framework 6.2's @MockitoBean and @MockitoSpy
- Migrate usages of @MockBean and @SpyBean to @MockitoBean and
@MockitoSpy
Signed-off-by: Jakob Wanger <jakobwanger@gmail.com>
See gh-39864
A `trustBuilder` configuration option has been added to the Maven and
Gradle CNB integration image building goal and task. A known set of
builders published by Paketo, Heroku, and Google are trusted by default,
all other builders are untrusted by default.
Closes gh-41352
Add `APPLICATION_NAME` and `APPLICATION_GROUP` properties that contain
verbatim values rather than formatted strings. Formatting of the values
is now handled by new `EnclosedInSquareBracketsConverter` classes for
both Logback and Log4J2.
The existing `LOGGED_APPLICATION_NAME` variable is now considered
deprecated. The `LOGGED_APPLICATION_GROUP` variable and related
logback converter have been removed since they never made it to a GA
release.
Closes gh-41444