Update `ConversionServiceDeducer` so that lambdas can be used with
`@ConfigurationPropertiesBinding` annotated `@Bean` methods.
This commit also allows more converter types to be detected.
Closes gh-44018
Update `ApplicationConversionService` to support beans that are
implemented using lambdas. The updated code now uses the result of
`beanDefinition.getResolvableType()` if the type itself has unresolvable
generics.
See gh-22885
Before this commit, the generated name for the inner class had the
wrong format <package>.<parent>.<child> (canonical name).
GraalVM expects $ to separate the parent from the inner class.
This commit updates SpringBootJoranConfigurator to generate
an appropriate format for a class name. Specifically, an inner class
should be separated by a dollar sign, not a dot.
See gh-44021
Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
Remove shouldNotRegisterStructuredLoggingJsonMembersCustomizer...
RuntimeHints since it duplicates shouldNotRegisterStructuredLogging...
JsonMembersCustomizerRuntimeHintsWhenCustomizerIsNotSet
See gh-44013
Signed-off-by: Johnny Lim <izeye@naver.com>
Change `SystemStatusListener` to a `OnConsoleStatusListener` to
ensure that it cannot be added twice from different threads.
Also add a local `retrospectivePrint()` that is used for non-debug
output that will print ERROR and WARN status, but not INFO.
See gh-43931
Fix `SystemStatusListener` so that superfluous output is not
printed when starting an application. This change ensures that
the `SystemStatusListener` is not added twice, and that
retrospective logging only occurs when `debug` is true.
See gh-43931
Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
Prior to this commit, a change in gh-43586 unlocked the support for
symlinks: instead of watching the link itself which might never change,
this would watch the target file which is likely to change.
This could break with an `IllegalStateException` in case the symlink is
using a path relative to the link itself.
This commit ensures that the target is resolved against the current
link path to avoid incorrect watch operations.
Fixes gh-43966
Add two methods to create an SslManagerBundle from a given
TrustManagerFactory or from a single or multiple TrustManagers.
Both those methods use the default KeyManagerFactory.
Closes gh-43064
Properties which should be ignored can be specified in the
additional-spring-configuration-metadata.json file. The ignored
properties section is copied into the final
spring-configuration-metadata.json file, and the ignored properties are
removed from the properties element in the final file.
Closes gh-2421
Update `LogbackLoggingSystem` so that the `OnErrorConsoleStatusListener`
is also registered when loading a custom Logback configuration file.
See gh-43931
Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
The property is named 'spring.jooq.config' and is of type Resource,
so that it supports classpath: and all the other common prefixes.
The config is loaded through JAXB. If JAXB is not on the classpath,
an exception is thrown. Also adds a failure analyzer for this exception.
Closes gh-38778
Update `StructuredLoggingJsonProperties` and related class so that
multiple `StructuredLoggingJsonMembersCustomizer` classes can be
used.
Signed-off-by: Yanming Zhou <zhouyanming@gmail.com>
See gh-43368