Update `ApplicationResourceLoader` so that the `preferFileResolution`
flag now also supports `FilteredReactiveWebContextResource`.
See gh-44535
Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
Add validation for the maximum JSON nesting depth in the JsonValueWriter.
This helps prevent a StackOverflowError that can potentially occur due
to excessive recursion when dealing with deeply nested JSON structures.
See gh-44627
Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
Update `EphemeralBuilder` so that it adds an additional layer that
containing an empty application (aka workspace) directory owned by
the build user.
Prior to this commit, the directory was only bound. This could cause
issues on Podman where, unlike Docker, the bound directory is owned
by `root`.
Fixes gh-45233
Throw an exception if actuator is running on the main server port and
the base path and an individual mapping are set to '/'.
See gh-45251
Signed-off-by: yongjunhong <dev.yongjunh@gmail.com>
Previously, OAuth2 client auto-configuration was managed by a single
class:
- OAuth2ClientAutoConfiguration for servlet apps
- ReactiveOAuth2ClientAutoConfiguration for reactive apps
OAuth2ClientAutoConfiguration being for servlet apps meant that
a blocking OAuth2 client was not availabile in a non-web application.
The auto-configuration classes did two things:
- Auto-configured beans that are specific to server-side web security
that uses an OAuth2 client
- Auto-configured OAuth2 client beans that may be used client- or
server-side
Combining these two things into a single auto-configuration class
meant that you could not choose to use one or the other. For example,
you may want to make use of an OAuth2 client in a web application
without also using OAuth2 client-based web security.
This commit restructures the auto-configuration to address these
problems. There are now two auto-configurations for non-reactive apps:
- OAuth2ClientAutoConfiguration
- OAuth2ClientWebSecurityAutoConfiguration
and two auto-configurations for reactive apps:
- ReactiveOAuth2ClientAutoConfiguration
- ReactiveOAuth2ClientWebSecurityAutoConfiguration
This separation allows one to be used without the other. Furthermore,
the conditions have been updated so that, for example, the blocking
OAuth2 client is available in a non-web application.
Closes gh-40997
Closes gh-44906
Co-authored-by: Moritz Halbritter <moritz.halbritter@broadcom.com>
This commit updates the conditions in Neo4jReactiveDataAutoConfiguration
so that it gracefully backs off if certain beans are not present, rather
than assuming its sibling Neo4jDataAutoConfiguration has run.
Closes gh-44930
Document that `applicationTaskExecutor` as a bootstrap executor for the
context if no `bootstrapExecutor` bean is defined.
See gh-45232
Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
Align redirect settings of `TestRestTemplate` with other blocking
clients and deprecate `HttpClientOption.ENABLE_REDIRECTS`. A new
`withRedirects` convenience method has also been added to quickly
allow the setting to be changed.
Closes gh-43431
Replace `CustomHttpComponentsClientHttpRequestFactory` with
`HttpComponentsClientHttpRequestFactoryBuilder` to reduce the amount
of duplicated logic.
Closes gh-43422
Prior to this commit, certain rules, like BeanPostProcessor,
did not work with external classes. This commit ensures that
ArchRules are executed within a context ClassLoader that includes
all classes from the compile classpath.
See gh-45202
Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
This commit clarifies the semantic of declaring multiple profile
expression with the "spring.config.activate.on-profile" property.
See gh-44866
Signed-off-by: Yanming Zhou <zhouyanming@gmail.com>
This commit adds support for the standard 'optional:' prefix in Log4j2
override file locations, ensuring missing files are ignored without
throwing exceptions.
See gh-44488
Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>