Commit Graph
100 Commits
Author SHA1 Message Date
Dmytro Nosan e78471699c Pick up all @TypeExcludeFilters annotations on test classes
Previously, TypeExcludeFiltersContextCustomizerFactory
only discovered the first @TypeExcludeFilters annotation.

This commit updates it to discover all @TypeExcludeFilters
annotations instead of stopping at the first.

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>

See gh-51489
2026-09-17 12:04:36 +01:00
Dmytro Nosan 43985f1356 Update OpenTelemetryResourceAttributes documentation
Clarify service.name and service.namespace defaults and remove
obsolete service.group documentation

See gh-50867

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2026-06-27 13:27:35 +01:00
Dmytro Nosan 16445de3ab Align W3CHeaderParser decoding with RFC 3986
Replace `URLDecoder.decode` with `StringUtils.uriDecode` to ensure
RFC 3986-compliant decoding. Unlike `URLDecoder`, URI decoding does
not treat `+` as a space and only decodes percent-encoded sequences.

See gh-50650

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2026-06-24 20:15:18 +01:00
Dmytro Nosan 7c23813752 Restore Spring Security integration with HtmlUnitDriver
Prior to this commit, securityDelegateMockMvcHtmlUnitDriverCustomizer
did not have an @Bean annotation and therefore
was not registered as a bean in SecurityMockMvcAutoConfiguration.

See gh-50602

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2026-05-30 15:45:22 +02:00
Dmytro Nosan c0d4ebc3a5 Remove the use of Optional from Data Neo4j repository examples
See gh-50600

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2026-05-29 12:38:33 +02:00
Dmytro Nosan 155b02f0e3 Use new Maven Resolver API for ModifiedClassPathClassLoader
Replace deprecated Maven Resolver components with
`RepositorySystemSupplier`.

See gh-50447

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2026-05-29 11:51:03 +02:00
Dmytro Nosan 22eed33810 Add Flyway 12.0 compatibility handling in FlywayAutoConfiguration
In Flyway 12.0, the `cleanOnValidationError` property was removed.
This commit catches `NoSuchMethodError` to maintain compatibility with
Flyway 12.0

See gh-49059

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2026-02-09 14:42:02 +01:00
Dmytro Nosan a4ed09e5d2 Ensure Windows Docker credential helper resolves correctly
Before this commit, "cmd /c" was never added to the final command,
which meant the Docker credential helper was not executed correctly.

See gh-48965

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2026-01-27 08:17:47 +01:00
Dmytro Nosan 8abff71009 Associate MeterConventions for JVM and system metrics
This commit auto-configures the following beans with their corresponding
conventions, when available:

- ProcessorMetrics with JvmCpuMeterConventions
- JvmMemoryMetrics with JvmMemoryMeterConventions
- JvmThreadMetrics with JvmThreadMeterConventions
- ClassLoaderMetrics with JvmClassLoadingMeterConventions

See gh-47935

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-12-19 11:48:25 +01:00
Dmytro Nosan 81f7caad24 Add failure analysis for invalid Docker environments
This commit introduces a failure analyzer implementation that provides
actionable guidance when Testcontainers fails to detect a running
Docker-compatible environment.

See gh-47797

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-12-19 11:45:20 +01:00
Dmytro Nosan d251b99615 Use ObjectNode for building ImagePlatform JSON
See gh-48100

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>

Closes gh-48100
2025-11-13 10:53:41 +01:00
Dmytro Nosan bf0152e67c Allow Devtools Restarter to work with a parameterless main method
See gh-47987

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-11-09 12:10:26 +01:00
Dmytro Nosan ba88ec7ed1 Stop using @ConditionalOnClass on @Bean methods
See gh-47429

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-10-21 11:32:42 -07:00
Dmytro Nosan bc2ca5b9fc Extend ArchitectureCheck with NullMarkedExtension
Introduce NullMarkedExtension for ArchitectureCheck, which provides
functionality to configure packages to ignore in nullability checks and
to enable or disable the extension.

See gh-47596

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-10-15 08:23:47 +02:00
Dmytro Nosan 26372e78c6 Switch Logback's file logging charset to UTF-8
This commit aligns the file charset between Log4j2 and Logback.

Prior to this commit, there was an inconsistency between the two: Log4j2
used UTF-8, while Logback used Charset.defaultCharset(), which is
platform-dependent.

See gh-46846

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-08-18 17:52:51 +02:00
Dmytro Nosan 2dc414900d Restore NullMarked ArchRule tests
See gh-46876

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-08-18 15:21:34 +02:00
Dmytro Nosan bb8e884999 Polish ArchitectureCheckTests
Prior to this commit, it wasn't possible to write a test to verify that
a specific ArchRule applied only to a specific SourceSet.

This PR rewrites `ArchitectureCheckTests` to support different sources
and also adds functionality to configure the plugin.

With these changes, all tests now verify not only the
`checkArchitectureMain` task but also `checkArchitectureTest`.

See gh-46822

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-08-18 14:01:58 +02:00
Dmytro Nosan 8fbceffd15 Use StringUtils.uriDecode where feasible
See gh-46751

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-08-11 10:58:11 +02:00
Dmytro Nosan b88ad99f1a Add ArchRule that checks that the type of exposed bean is not private
See gh-46753

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-08-11 08:43:21 +02:00
Dmytro Nosan 50202cf1ff Make SpringLiquibaseCustomizer package-private
Prior to this commit, SpringLiquibaseCustomizer had a private modifier,
which breaks Spring AOT.

See gh-46752

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-08-10 16:11:38 +02:00
Dmytro Nosan a6668ca22e Use Kafka's StreamsBuilderFactoryBeanConfigurer
This commit removes Boot's StreamBuilderFactoryBeanCustomizer and
updates KafkaStreamsAnnotationDrivenConfiguration to use
Kafka's StreamsBuilderFactoryBeanConfigurer instead of the
nested class KafkaStreamsFactoryBeanConfigurer.

This aligns more closely with how configuration is typically applied.

See gh-46675

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-08-07 09:48:20 +02:00
Dmytro Nosan b57b6c4e27 Restore use of ReactorResourceFactory
This commit configures ReactorClientHttpConnectorBuilder with the
ReactorResourceFactory bean from the context.

See gh-46673

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-08-06 16:33:09 +02:00
Dmytro Nosan bd0f58d67d Add support for the @FilterRegistration annotation with @WebMvcTest
See gh-46605

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-08-01 09:02:30 +01:00
Dmytro Nosan 6df1b88c7a Update checkstyle configuration to use a checkstyle-header.txt file
See gh-46604

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-07-31 08:18:24 +02:00
Dmytro Nosan fff816d056 Add support for multiple TaskDecorator beans
Previously, only a single TaskDecorator bean, if unique, was applied
to the auto-configured TaskExecutor or Scheduler. With this change,
if multiple TaskDecorator beans are defined, they will be combined
into a `CompositeTaskDecorator` and applied accordingly.

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>

See gh-45302
2025-07-02 11:55:57 +01:00
Dmytro Nosan 67f380c2bc Add @EnabledOnLocale annotation for locale-based tests
Introduce @EnabledOnLocale annotation to enable or disable tests
based on the system's default locale.

See gh-46211

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-06-27 12:45:35 +02:00
Dmytro Nosan 4b7e3519c2 Exclude NettyAutoConfiguration from global lazy init
This commits registers LazyInitializationExcludeFilter to exclude
NettyAutoConfiguration from global lazy init.

See gh-46164

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-06-23 13:42:35 +02:00
Dmytro Nosan c07a67706b Add support for SAML2 with @WebMvcTest
See gh-45650

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-05-25 09:34:03 +02:00
Dmytro Nosan 4c3c7b4543 Add WebMvcTestOAuth2Tests
See gh-45654

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-05-25 09:16:19 +02:00
Dmytro Nosan b22d3caaad Consistent condition for ObservedAspectConfiguration
This commit adds the same conditions that control some observation
aspects to control the creation of an `ObservedAspect` bean. It now is
guarded by  `management.observations.annotations.enabled` and
`micrometer.observations.annotations.enabled`.

See gh-45601

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-05-20 14:45:44 +02:00
Dmytro Nosan 439dd2299e Use serverUrl from the image as a fallback for the Credentials helper
Before this commit, the credential helper used the serverUrl from
the Map.Entry<String,Auth> as a fallback. However, the helper only uses
the email from the auths.

See gh-45345

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-05-02 15:13:35 +02:00
Dmytro Nosan 3f22d4b308 Align DockerRegistryConfigAuthentication with Docker CLI
See gh-45292

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-04-29 13:40:10 +02:00
Dmytro Nosan d1ee8bab48 Polish
See gh-45291

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-04-29 12:06:05 +02:00
Dmytro Nosan e69de966b7 Trim "\x00" from a decoded Docker Registry password
See gh-45290

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-04-28 14:19:51 +02:00
Dmytro Nosan 4ea54dae85 Introduce 'spring.test.print-condition-evaluation-report' property
Add the `spring.test.print-condition-evaluation-report` property
to enable or disable the conditional evaluation report
when ApplicationContext fails to start.

See gh-45268

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-04-24 22:14:20 -07:00
Dmytro NosanandPhillip Webb da61d63db8 Add Docker configuration authentication to Maven and Gradle plugins
Update the Maven and Gradle plugins to make use of the new Docker
configuration authentication support.

See gh-45269

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
Co-authored-by: Phillip Webb <phil.webb@broadcom.com>
2025-04-24 21:56:14 -07:00
Dmytro NosanandPhillip Webb e6fbccef7e Support Docker configuration authentication including helper support
Add `DockerRegistryAuthentication` implementation that uses standard
Docker config to authenticate requests.

Prior to this commit, we only supported username/password and token
based authentication. This commit allows authentication based on
the contents of the Docker configuration file, including support
for executing credential helpers.

See gh-45269

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
Co-authored-by: Phillip Webb <phil.webb@broadcom.com>
2025-04-24 21:54:08 -07:00
Dmytro Nosan 958e28d890 Update DockerConfigurationMetadata to support credentials
Update `DockerConfigurationMetadata` with support for `credsStore`,
`credHelpers` and `auth` sections. These values will be required to
support credential helper based authentication.

See gh-45269

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-04-24 21:47:04 -07:00
Dmytro Nosan 98b2b5f32a Improve ApplicationResourceLoader preferFileResolution support
Update `ApplicationResourceLoader` so that the `preferFileResolution`
flag now also supports `FilteredReactiveWebContextResource`.

See gh-44535

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-04-22 22:32:44 -07:00
Dmytro Nosan b5e0eed8e7 Protected against JsonValueWriter stack overflow
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>
2025-04-22 19:58:27 -07:00
Dmytro Nosan 74222a64fc Document that a bootstrap executor for the context is auto-configured
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>
2025-04-18 14:26:53 +02:00
Dmytro Nosan bb3cf6c088 Use ClassLoader with ArchitectureCheck
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>
2025-04-17 15:46:59 +01:00
Dmytro Nosan 48154a393f Add support for optional Log4J2 configuration
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>
2025-04-17 13:42:47 +02:00
Dmytro Nosan 83901a22b6 Fix parameter replacement when message matches its code
This commit addresses an issue where placeholders like {foo}
remain as {foo} if the message is the same as its code.

See gh-45212

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-04-16 14:45:50 +01:00
Dmytro Nosan a69991b261 Prevent stack overflow when writing Path
Prior to this commit, serializing `java.nio.file.Path` caused
a StackOverflowError because `Path.iterator()` always returns itself
as the first element of the iterator, which results in a
StackOverflowError.

This commit serializes `java.nio.file.Path` as JSON String.

See gh-44507

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-04-16 11:35:39 +01:00
Dmytro Nosan af5d72b94f Update RestClientSsl to support ClientHttpRequestFactorySettings
Prior to this commit, RestClientSsl always used the
default settings from ClientHttpRequestFactorySettings, overriding any
user-defined settings (e.g., HttpClientProperties).

With this commit, RestClientSsl now respects and uses
ClientHttpRequestFactorySettings when they are provided.

See gh-44979

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-04-14 20:03:32 -07:00
Dmytro Nosan 409f74acc6 Add more tests for BootstrapExecutorConfiguration
See gh-45161

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-04-11 14:00:33 +02:00
Dmytro Nosan e24fd50615 Handle generics with identical names in different positions
Update `TypeUtils` to handle generics with identical names in different
positions.

See gh-45011

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-04-08 15:05:42 -07:00
Dmytro Nosan 6a92364ccd Update documentation for Task Execution
See gh-44926

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-04-07 11:36:15 +02:00
Dmytro Nosan 5e966f9576 Polish RestClientAutoConfiguration and RestClientBuilderConfigurer
See gh-44982

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-04-07 10:48:43 +02:00
Dmytro Nosan a55f5f0aac Fix CassandraRepositoriesAutoConfigurationTests
Update CassandraRepositoriesAutoConfigurationTests to use the correct
'spring.data.cassandra.repositories.type' property.

See gh-44942

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-04-02 10:45:50 +01:00
Dmytro Nosan 094c962bbc Add more tests to OpenTelemetryResourceAttributesTests
Add tests for decoding percent-encoded strings with non-ASCII characters
and multi-byte sequences.

See gh-44944

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-04-01 08:49:35 +02:00
Dmytro Nosan f312c9083b Add test for 'force' async mode with @Primary custom executor
See gh-44921

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-03-28 07:19:41 +01:00
Dmytro Nosan 19004e028b Add OTLP span exporter builder customizers
This commit adds customizers for both OtlpHttpSpanExporterBuilder
and OtlpGrpcSpanExporterBuilder.

See gh-44900

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-03-26 12:00:36 +01:00
Dmytro Nosan 48b7467d38 Add tests for OtlpTracingAutoConfiguration
See gh-44789

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-03-26 10:25:58 +01:00
Dmytro Nosan 14bbceb038 Watch symlinks for changes for SSL hot reloading
Prior to this commit, the SSL file hot reloading feature would
create file watchers for all configured locations and would resolve
symbolic links if they're found as registrations.

This arrangement would work for typical Let's Encrypt setups, but
would not get notified of consecutive changes for k8s setups.
Kubernetes uses a mix of symlinks and atomic file moves to update
secrets.

This commit not only tracks changes to symlinks targets, but also
to the original symlink.

Closes gh-44807

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
[brian.clozel@broadcom.com: apply code conventions]
Signed-off-by: Brian Clozel <brian.clozel@broadcom.com>
2025-03-25 18:19:02 +01:00
Dmytro Nosan 9229cb5cd7 Polish OpenTelemetryResourceAttributes
Update OpenTelemetryResourceAttributes to use StringUtils.uriDecode(...)
as it provides the same functionality as the custom decode(...) method.

See gh-44677

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-03-13 10:38:56 +01:00
Dmytro Nosan ea4822177f Introduce properties for configuring the OpenTelemetry BatchSpanProcessor
This commit adds the following properties to allow customization
of the BatchSpanProcessor:

- management.tracing.opentelemetry.export.include-unsampled
- management.tracing.opentelemetry.export.timeout
- management.tracing.opentelemetry.export.max-batch-size
- management.tracing.opentelemetry.export.max-queue-size
- management.tracing.opentelemetry.export.schedule-delay

Default values were taken from BatchSpanProcessorBuilder.

See gh-44655

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-03-13 10:15:58 +01:00
Dmytro Nosan b3f90337ec Polish OpenTelemetryResourceAttributesTests
See gh-44636

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-03-07 10:08:23 +01:00
Dmytro Nosan e62d78ab11 Refine the handling of OpenTelemetry resource attributes
See gh-44494

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-03-03 09:28:46 +01:00
Dmytro Nosan bf015bfeb9 Add support for OTel-specific environment variables
This commit introduces the OpenTelementryAttributes class that fetches
OTEL_RESOURCE_ATTRIBUTES and OTEL_SERVICE_NAME environment variables
and merges it with user-defined resource attributes.

Besides that, this commit includes spec-compliant proper handling of
OTEL_RESOURCE_ATTRIBUTES in OtlpMetricsPropertiesConfigAdapter and
OpenTelemetryAutoConfiguration.

See gh-44394

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-02-28 14:52:10 +01:00
Dmytro Nosan b140fd1c4c Update LogbackLoggingSystemTests to use Console.charset() when available
See gh-44477

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-02-28 11:44:23 +01:00
Dmytro Nosan be7e952e91 Close InputStream when loading Log4j2 Configuration from a Resource
See gh-44467

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-02-28 09:57:09 +01:00
Dmytro Nosan a250bbb7e4 Use Console charset for console logging when available
Prior to this commit, LogbackLoggingSystemProperties
doesn't respect Console.charset(). It used Charset.getDefaultCharset()
for logback and  UTF-8 for log42j as defaults.

This commit changes the behaviour of LogbackLoggingSystemProperties to use
 Console.charset() when available. If no console is present, the default
 charset is used instead.

These changes bring consistency across logging implementations.

See gh-43118

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-02-28 08:27:40 +01:00
Dmytro Nosan 35db02bf48 Add spring.data.mongodb.protocol property
This commit allows configuring the MongoDB connection
protocol using the 'spring.data.mongodb.protocol' property.

See gh-44366

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-02-25 14:02:29 +01:00
Dmytro Nosan 9a940702bc Improve logging in DockerApi
This commit introduces a new constructor in `DockerApi`
that accepts `DockerLogger` as a parameter.

The `DockerLogger` is a pretty simple callback interface used to
provide DockerApi output logging.

See gh-44412

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-02-25 13:07:23 +01:00
Dmytro Nosan 2f288bf614 Clarify which Mongo properties are ignored when URI property is set
See gh-44384

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-02-22 18:28:42 +01:00
Dmytro Nosan 22958097e3 Register Log42J StatusListener
Update Log42JLoggingSystem to register Boot's StatusListener
instead of resetting the fallbackListener during initialization.

This fixes an issue when resetting the fallback listener leads to
closing standard streams.

See gh-44380

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-02-20 11:35:19 +00:00
Dmytro Nosan e919fd806f Polish ClassPath
See gh-44355

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-02-19 12:20:10 -08:00
Dmytro Nosan 0e81b6386e Don't use ArgFile when using JavaCompiler
See gh-44340

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-02-18 12:10:41 -08:00
Dmytro Nosan 616d4cb149 Polish ClasspathBuilder
See gh-44330

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-02-18 12:08:49 -08:00
Dmytro Nosan a6b80831f0 Use ArgFile for classpath argument on Windows
This commit uses @argfile syntax for classpath argument on Windows OS
to avoid creating a command-line that is too long.

See gh-44305

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-02-18 16:25:57 +01:00
Dmytro Nosan 84bde2a836 Catch WebServer stop or destroy exception when context refresh fails
This commit adds the stop or destroy failure as a suppressed
exception if either ServletWebServerApplicationContext or
ReactiveWebServerApplicationContext refresh fails.

See gh-44310

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-02-18 10:55:04 +01:00
Dmytro Nosan 183b9e6920 Handle absolute files on Windows
See gh-44309

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-02-17 18:05:37 +01:00
Dmytro Nosan 35a77e2cf1 Fix build
See gh-44306

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-02-17 13:09:52 +01:00
Dmytro Nosan 8435aeb0e2 Auto-configure ObjectDirectoryMapper
This commit improves LdapAutoConfiguration to also auto-configure an
ObjectDirectoryMapper and configure LdapTemplate to use it.

See gh-44290

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-02-17 12:02:39 +01:00
Dmytro Nosan ac73766f9b Do not auto-configure ViewResolver if spring-webmvc is absent
See gh-44259

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-02-17 11:01:07 +01:00
Dmytro Nosan c28c16eb9c Destroy WebServer if ReactiveWebServerApplicationContext refresh fails
Prior to this commit, if ReactiveWebServerApplicationContext failed to
refresh, only WebServer.stop() was called.

This commit additionally invokes WebServer.destroy(), aligning
the behavior with ServletWebServerApplicationContext when a refresh
failure occurs.

See gh-44134

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-02-17 10:45:34 +01:00
Dmytro Nosan e8661f6bee Auto-configure CqlTemplate and ReactiveCqlTemplate
See gh-44291

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-02-17 09:14:06 +01:00
Dmytro Nosan 5d781ffcbb Add RuntimeHints for StackTracePrinter
See gh-44242

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-02-13 09:00:10 +01:00
Dmytro Nosan b9772cd6f1 Polish
See gh-44247

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-02-13 08:47:16 +01:00
Dmytro Nosan ed5100ecee Upgrade to Elasticsearch Client 8.17.0
See gh-44100

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-02-08 10:04:00 +00:00
Dmytro Nosan fbeace397f Add the ability to trigger a Quartz job through an Actuator endpoint
Add new methods to `QuartzEndpoint` and `QuartzEndpointWebExtension`
to allow a Quartz job to be triggered on demand.

See gh-43086

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-02-04 16:29:39 -08:00
Dmytro Nosan 1749235dbd Polish PrometheusPushGatewayConfiguration
See gh-44069

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-02-04 14:02:47 -08:00
Dmytro Nosan d27fd31a3d Add property to configure Spring MVC default content types
This commit adds a configuration property to configure the default
content types with Spring MVC.

See gh-44040

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-02-04 12:40:23 +01:00
Dmytro Nosan d9f441d620 Update SpringBootJoranConfigurator to use proper GraalVM format
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>
2025-01-30 12:00:33 +00:00
Dmytro Nosan 213b2ea9bc Add more tests for SystemStatusListener and LogbackLoggingSystem
See gh-44012

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-01-28 20:16:38 -08:00
Dmytro Nosan 4878fc2a28 Polish SystemStatusListener
See gh-43931

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-01-28 12:03:11 -08:00
Dmytro Nosan 6ba8e9b089 Fix SystemStatusListener to prevent superfluous output
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>
2025-01-28 11:15:55 -08:00
Dmytro Nosan 258eb29978 Register Logback StatusListener when using custom Logback file
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>
2025-01-27 22:26:53 -08:00
Dmytro Nosan 126233303c Remove the use of a FactoryBean when auto-configuring VirtualThreadMetrics
See gh-43957

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-01-24 14:05:26 +01:00
Dmytro Nosan fc5c285ded Auto-configure VirtualThreadMetrics
See gh-43852

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-01-24 11:37:49 +01:00
Dmytro Nosan 0a83bcd9dd Fix binding of structured logging properties in a native image
Add RuntimeHints for GraylogExtendedLogFormatProperties,
StructuredLoggingJsonProperties and ElasticCommonSchemaProperties
properties.

Add BeanFactoryInitializationAotProcessor to register RuntimeHints
for a custom StructuredLoggingJsonMembersCustomizer.

See gh-43862

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-01-21 16:29:20 +00:00
Dmytro Nosan 9de517281e Fix potential NPE in GraylogExtendedLogFormatProperties
Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>

See gh-43863
2025-01-19 08:06:40 +01:00
Dmytro Nosan 9c146c0a40 Polish OnPropertyCondition
Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>

See gh-43754
2025-01-13 14:09:10 -08:00
Dmytro Nosan f98b7ba6a6 Polish ProcessInfo
See gh-43789

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-01-13 14:39:24 +01:00
Dmytro Nosan c256f41fce Logback StructuredLogFormatter exceptions are not visible to the user
Before this commit, any exceptions thrown in Logback encoders
were just swallowed. This commit adds the FilteringStatusListener
that delegates to OnErrorConsoleStatusListener to print any errors
that happened in logback encoders.

See gh-43575

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-01-13 13:01:44 +01:00
Dmytro Nosan 78060458c1 Add marker information to ECS structured logging
See gh-43768

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-01-13 10:10:00 +01:00
Dmytro Nosan fd115980e7 Add spring.data.redis.lettuce.read-from property
See gh-42588
2025-01-07 16:35:39 +01:00
Dmytro Nosan ce0bcf3493 Configure Postgres' application_name from the environment
This commit configure the 'application_name' property of the Postgres
container from the standard 'spring.application.name'.

See gh-42460
2025-01-07 16:32:31 +01:00