Commit Graph

18956 Commits (bed313746bb58aefab1a0c53d3e4f0a343441cef)

Author SHA1 Message Date
Andy Wilkinson 809a3b73ba Upgrade to Selenium HtmlUnit 4.5.0
Closes gh-32716
2 years ago
Andy Wilkinson bca00bf0e8 Upgrade to Selenium 4.5.0
Closes gh-32715
2 years ago
Andy Wilkinson a6338f8e20 Upgrade to Rabbit Stream Client 0.8.0
Closes gh-32714
2 years ago
Andy Wilkinson 23028ebc36 Upgrade to OpenTelemetry 1.19.0
Closes gh-32713
2 years ago
Andy Wilkinson 7e80f6268e Upgrade to Netty 4.1.84.Final
Closes gh-32712
2 years ago
Andy Wilkinson 29cb323762 Upgrade to Neo4j Java Driver 5.1.0
Closes gh-32711
2 years ago
Andy Wilkinson dd39e09a51 Upgrade to Logback 1.4.4
Closes gh-32710
2 years ago
Andy Wilkinson df02ec88f5 Upgrade to Liquibase 4.17.0
Closes gh-32709
2 years ago
Andy Wilkinson ef97e5e803 Upgrade to Jetty Reactive HTTPClient 3.0.7
Closes gh-32707
2 years ago
Andy Wilkinson 37c4cfbe34 Upgrade to HtmlUnit 2.65.1
Closes gh-32706
2 years ago
Andy Wilkinson 9247de804b Upgrade to Hazelcast 5.1.4
Closes gh-32705
2 years ago
Andy Wilkinson 3a1e3b35d5 Upgrade to Flyway 9.4.0
Closes gh-32704
2 years ago
Andy Wilkinson 9a398549e9 Upgrade to Ehcache3 3.10.2
Closes gh-32703
2 years ago
Andy Wilkinson d1d9750f23 Upgrade to Byte Buddy 1.12.18
Closes gh-32702
2 years ago
Andy Wilkinson 9161afff3c Upgrade to Artemis 2.26.0
Closes gh-32701
2 years ago
Andy Wilkinson 5544023e33 Upgrade to Spring Data 2022.0.0-RC1
Closes gh-32601
2 years ago
Andy Wilkinson 5b37dd1c66 Upgrade to Thymeleaf 3.1.0.RC1
Closes gh-32628
2 years ago
Andy Wilkinson 654c3353d5 Upgrade to Netty 4.1.84.Final
Closes gh-32700
2 years ago
Andy Wilkinson 09d7bede29 Upgrade to Jetty Reactive HTTPClient 1.1.13
Closes gh-32699
2 years ago
Andy Wilkinson b9148ede2f Upgrade to Hazelcast 5.1.4
Closes gh-32698
2 years ago
Andy Wilkinson 7470342dda Upgrade to Byte Buddy 1.12.18
Closes gh-32697
2 years ago
Andy Wilkinson 4474af6265 Upgrade to Spring Data 2021.2.5
Closes gh-32595
2 years ago
Andy Wilkinson 567146954d Upgrade to Reactor 2020.0.24
Closes gh-32592
2 years ago
Andy Wilkinson 0031759d65 Starting building against Spring Framework 6.0.0-RC2 snapshots
See gh-32696
2 years ago
Andy Wilkinson eaf0523656 Upgrade to Spring Data 2021.1.9
Closes gh-32588
2 years ago
Andy Wilkinson 5329eac5e4 Upgrade to Reactor 2020.0.24
Closes gh-32587
2 years ago
Andy Wilkinson 3244a4a59b Upgrade to Netty 4.1.84.Final
Closes gh-32695
2 years ago
Andy Wilkinson d593d194de Polish "Add auto-configuration for Exemplars"
See gh-32415
2 years ago
Jonatan Ivanov c5b2bc3dc7 Add auto-configuration for Exemplars
See gh-32415
2 years ago
Andy Wilkinson 81ee173877 Polish
See gh-32399
2 years ago
Andy Wilkinson c9b929bd89 Starting building against Spring Data 2021.2.5 snapshots
See gh-32595
2 years ago
Andy Wilkinson 78bf7b640c Start building against Spring Data 2021.1.9 snapshots
See gh-32588
2 years ago
Andy Wilkinson 1af21fe33f Polish "Use TracingAwareMeterObservationHandler if tracing is configured"
See gh-32399
2 years ago
Jonatan Ivanov 415b9025c8 Use TracingAwareMeterObservationHandler if tracing is configured
See gh-32399
2 years ago
Scott Frederick a15c5e2498 Merge branch '2.7.x' 2 years ago
Scott Frederick 6c1103cde0 Support PEM formatted elliptic-curve TLS keys
Apply the changes from e0c79ce598
to the `PrivateKeyParser` used for web server SSL configuration.

See gh-32646
2 years ago
Bertolt Meier 647a2905c8 Add checkstyle rule for List.of() / Set.of() / Map.of()
This commits adds a checkstyle rule to not use List.of(), Set.of()
and Map.of(), preferring Collections.emptyList(), emptySet(), and
emptyMap() respectively.

It replaces usages of these methods across the codebase.

See gh-32655
2 years ago
Johnny Lim 1032f8cc94 Polish Micrometer tracing changes
See gh-32627
2 years ago
Andy Wilkinson e4544c1785 Use new constructor to configure W3CPropagation without baggage
Closes gh-32524
2 years ago
Andy Wilkinson a816851582 Upgrade to Spring HATEOAS 2.0.0-RC1
Closes gh-32652
2 years ago
Andy Wilkinson 7852c45a77 Generate reflection hints for loggers endpoint's responses
Some of the types that are returned are hidden behind a
Map<String, Object> so the operation annotations already been marked
as reflective isn't sufficient.

This commit uses `@RegisterReflectionForBinding` to register the
types that are used as (nested) values in the response maps.

Closes gh-32486
2 years ago
Andy Wilkinson 180d0edbca Decouple AutoTimeProperties from Micrometer Core
Closes gh-32676
2 years ago
Andy Wilkinson 7e9e64a2ea Revert "Merge pull request #32399 from jonatan-ivanov"
This reverts commit ad40ef3398, reversing
changes made to 6eb32647f5.
2 years ago
Jonatan Ivanov a0ceb2c3ff Use TracingAwareMeterObservationHandler if tracing is configured
See gh-32399
2 years ago
Jonatan Ivanov fff4aaaac1 Fix Observation lifecycle issues in ObservationAutoConfigurationTests
See gh-32662
2 years ago
Sébastien Deleuze 5b17cacb1f Remove spring.xml.ignore flag usages
This commit is a follow-up of spring-projects/spring-framework#29277.

See gh-32653
2 years ago
Stephane Nicoll 8013c5f182 Upgrade to MongoDB 4.8.0-beta0
Closes gh-32684
2 years ago
Emil ea654b42fa Fix typo "Elastixsearch"
See gh-32656
2 years ago
Andy Wilkinson 78dccb2772 Upgrade to Reactor 2022.0.0-RC1
Closes gh-32599
2 years ago
Andy Wilkinson 4c2c04ca95 Upgrade to Spring Framework 6.0.0-RC1
Closes gh-32550
2 years ago
Andy Wilkinson 3ab4606584 Make runScripts method of DB initializer more extensible
Closes gh-29137
2 years ago
Andy Wilkinson 403803837a Adapt to changes in REST Docs for documenting query parameters
See gh-32623
2 years ago
Phillip Webb 7e8ed075c0 Merge branch '2.7.x'
Closes gh-32682
2 years ago
Phillip Webb ed01a77a99 Merge branch '2.6.x' into 2.7.x
Closes gh-32681
2 years ago
Phillip Webb e0c79ce598 Support PEM formatted elliptic-curve TLS keys
Update `PrivateKeyParser` to support loading PEM formatted
elliptic-curve keys. We need to do a similar trick to the PKCS1 keys
and convert them to a `PKCS8EncodedKeySpec`.

Fixes gh-32646
2 years ago
Andy Wilkinson 4dfd770406 Ensure that metrics and observation properties are enabled
Closes gh-32676
2 years ago
Andy Wilkinson 3ca5c7ff5b Create AOT source sets as soon as the Java plugin is applied
Previously, the AOT source sets were not created until both the
Java and Spring Boot plugins had been applied. This could create
ordering problems when the Spring Boot plugin's native image plugin
action tried to access the AOT source sets to configure the
classpaths of the nativeCompile and nativeTest tasks. If the
plugins were applied in a particular order the AOT source sets
would not exist and a failure would occur.

This commit updates the Spring Boot AOT plugin to create the source
sets as soon as the Java plugin has been applied. This ensure that
they're in place when reacting to the native image plugin being
applied.

Closes gh-32661
2 years ago
Andy Wilkinson 808e0be552 Merge branch '2.7.x'
Closes gh-32679
2 years ago
Andy Wilkinson 1b604e30f7 Merge branch '2.6.x' into 2.7.x
Closes gh-32678
2 years ago
Andy Wilkinson 215eb96355 Improve error handling in SpringBootPlugin
Closes gh-32677
2 years ago
Stephane Nicoll 579a858361 Upgrade to Lettuce 6.2.1.RELEASE
Closes gh-32674
2 years ago
Stephane Nicoll aee3ab75b1 Upgrade to Jedis 4.3.0
Closes gh-32673
2 years ago
Stephane Nicoll df364987df Upgrade to Hibernate 6.1.4.Final
Closes gh-32672
2 years ago
Stephane Nicoll cbf24bd1cd Upgrade to Elasticsearch Client 8.4.3
Closes gh-32671
2 years ago
Stephane Nicoll 2c5be354be Upgrade to Cassandra Driver 4.15.0
Closes gh-32670
2 years ago
Stephane Nicoll 907396021f Upgrade to Lettuce 6.1.10.RELEASE
Closes gh-32669
2 years ago
Stephane Nicoll 0c703c5317 Upgrade to Micrometer Tracing 1.0.0-RC1
Closes gh-32616
2 years ago
Stephane Nicoll 5dc0af7b0e Upgrade to Micrometer 1.10.0-RC1
Closes gh-32598
2 years ago
Stephane Nicoll 5b6a5873a5 Upgrade to Micrometer 1.9.5
Closes gh-32591
2 years ago
Stephane Nicoll 8a231e52b3 Upgrade to Undertow 2.2.20.Final
Closes gh-32668
2 years ago
Stephane Nicoll 1207d55f34 Upgrade to Lettuce 6.1.10.RELEASE
Closes gh-32666
2 years ago
Stephane Nicoll 858a48d979 Upgrade to Hibernate 5.6.12.Final
Closes gh-32665
2 years ago
Stephane Nicoll 483d62fa40 Upgrade to Embedded Mongo 3.4.11
Closes gh-32664
2 years ago
Stephane Nicoll 7e0de51cd2 Upgrade to Ehcache3 3.10.2
Closes gh-32663
2 years ago
Stephane Nicoll f49d1704f2 Upgrade to Micrometer 1.8.11
Closes gh-32586
2 years ago
Stephane Nicoll 645595c19e Start building against Spring HATEOAS 2.0.0-RC1 snapshots
See gh-32652
2 years ago
Andy Wilkinson d351086a06 Adapt to breaking changes to AOT processing entry points
See gh-32550
2 years ago
Brian Clozel d870474fcd Remove spring.webflux.multipart.streaming property
As of spring-projects/spring-framework#29293, the streaming mode on the
`DefaultPartHttpMessageReader` is deprecated as hard limitations have
been found with the design and won't be fixed. Instead, developers
should use the `PartEvent` API and the `PartEventHttpMessageReader`
(which is configured by default with the codecs).

This commit removes the `spring.webflux.multipart.streaming` property
and applies all `spring.webflux.multipart.*` properties that are
applicable to `PartEventHttpMessageReader`.

Closes gh-32658
2 years ago
Stephane Nicoll ac9b869cfd Upgrade to Undertow 2.2.20.Final
Closes gh-32651
2 years ago
Stephane Nicoll 19c3078623 Upgrade to Hibernate 5.6.12.Final
Closes gh-32649
2 years ago
Stephane Nicoll 1efbfdb3d3 Upgrade to Ehcache3 3.9.10
Closes gh-32648
2 years ago
Madhura Bhave 263433cd81 Populate base for embedded LDAPContextSource
Fixes gh-23030
2 years ago
Andy Wilkinson 3eb3d79104 Log condition evaluation report during AOT processing
Closes gh-32109
2 years ago
Andy Wilkinson 8e35f2ae92 Separate report logging from context initialization and events
See gh-32109
2 years ago
Johnny Lim 73fd760137 Polish HTTP client observability changes
See gh-32484
See gh-32518

Closes gh-32636
2 years ago
Brian Clozel 23a9818e0d Auto-configure ProblemDetails support
This commit auto-configures ProblemDetails support for both Spring MVC
and Spring WebFlux, contributing a `@ControllerAdvice` annotated
`ResponseEntityExceptionHandler` bean if the
`spring.mvc.problemdetails.enabled` or
`spring.webflux.problemdetails.enabled` properties are set to `true`.

Closes gh-32634
2 years ago
Vedran Pavic e0a7bd8143 Fix deprecation warnings in Spring Session auto-configuration
This commit updates Spring Session auto-configuration to avoid usage of
deprecated methods, and moves to newly introduced Duration based
defaultMaxInactiveInterval setters across all session repository
implementations.

Additionally, this fixes several tests that are broken due to session
repository implementations now using Duration type for their
defaultMaxInactiveInterval fields.

See gh-32633
2 years ago
Marcin Grzejszczak dfd148fb76 Make auto-configured Brave Tracer more compliant with OTel tracer
By default we will not support joined spans and the trace ID will
be 128-bit.

See gh-32615
2 years ago
Brian Clozel da7128ce7e Upgrade to Thymeleaf 3.1.0-M3
See gh-32628
2 years ago
Brian Clozel 0f3b94592b Temporarily suppress warnings on R2DBC deprecation
See gh-32601
See spring-projects/spring-data-relational#1350
2 years ago
Stephane Nicoll 627725b10f Start building against Spring Security 5.7.4 snapshots
See gh-32597
2 years ago
Stephane Nicoll 1de704b864 Start building against Spring Kafka 2.9.2 snapshots
See gh-32596
2 years ago
Stephane Nicoll 4803f289fe Start building against Spring Data 2021.2.4 snapshots
See gh-32595
2 years ago
Stephane Nicoll 1db0e998a6 Start building against Spring Retry 1.3.4 snapshots
See gh-32594
2 years ago
Stephane Nicoll edd907eb9d Start building against Micrometer 1.9.5 snapshots
See gh-32591
2 years ago
Stephane Nicoll 593f2ca7fe Start building against Reactor 2020.0.24 snapshots
See gh-32592
2 years ago
Stephane Nicoll 86176e8f4b Start building against Spring Security 5.6.8 snapshots
See gh-32590
2 years ago
Stephane Nicoll 525b724adc Start building against Spring Kafka 2.8.10 snapshots
See gh-32589
2 years ago
Stephane Nicoll 2b2f23ef9c Start building against Spring Data 2021.1.8 snapshots
See gh-32588
2 years ago
Stephane Nicoll 9b002e1c05 Start building against Spring Retry 1.3.4 snapshots
See gh-32593
2 years ago
Stephane Nicoll 556543043e Start building against Micrometer 1.8.11 snapshots
See gh-32586
2 years ago
Stephane Nicoll 8d2af7ea93 Start building against Reactor 2020.0.24 snapshots
See gh-32587
2 years ago
Andy Wilkinson 67b52e12da Upgrade to Kafka 3.3.1
Closes gh-32574
2 years ago
Andy Wilkinson f1a7e84866 Polish "Use Brave's bom instead of only managing a single Zipkin dependency"
See gh-32614
2 years ago
Marcin Grzejszczak f586d0f7bb Use Brave's bom instead of only managing a single Zipkin dependency
See gh-32614
2 years ago
Andy Wilkinson 48e606fcfe Start building against Spring LDAP 3.0.0-RC1 snapshots
See gh-32624
2 years ago
Andy Wilkinson 02183d82f6 Start building against Spring WS 4.0.0-RC1 snapshots
See gh-32621
2 years ago
Andy Wilkinson 978e939b3d Start building against Spring RESTDocs 3.0.0-RC1 snapshots
See gh-32623
2 years ago
Andy Wilkinson f0009411c4 Start building against Spring Retry 2.0.0-RC1 snapshots
See gh-32600
2 years ago
Andy Wilkinson 7e47d3bbd6 Polish "Rework Spring Session auto-configuration to use customizers"
See gh-32554
2 years ago
Vedran Pavic ad8753923a Rework Spring Session auto-configuration to use customizers
This commit reworks Spring Session auto-configuration to avoid
extending Spring Session's configuration classes. Instead, those
configuration classes are now imported and customizations are
applied using dedicated (Reactive)SessionRepositoryCustomizer beans.

See gh-32554
2 years ago
Andy Wilkinson a9c1b4a7c3 Start building against Spring Session 2022.0.0-RC1 snapshots
See gh-32606
2 years ago
Andy Wilkinson 0e23fbe30b Use Neo4j 4.4.11 for integration testing
See gh-32620
2 years ago
Brian Clozel d25fc73dae Upgrade to Neo4J Java Driver 5.0.0
Closes gh-32620
2 years ago
Brian Clozel 7e52607bab Switch to Spring AMQP 3.0.0-SNAPSHOT
See gh-32602
2 years ago
Brian Clozel fc82f0c0ab Switch to Spring Kafka 3.0.0-SNAPSHOT
See gh-32603
2 years ago
Brian Clozel 9472cbe2b7 Switch to Spring Data 2022.0.0-SNAPSHOT
See gh-32601
2 years ago
Brian Clozel 219ed47d1e Switch to Spring Integration 6.0.0-SNAPSHOT
See gh-32619
2 years ago
Brian Clozel 18ecb84004 Switch to Reactor 2020.0.0-SNAPSHOT
See gh-32599
2 years ago
Brian Clozel c8c73b195d Switch to Spring Batch 5.0.0-SNAPSHOT
See gh-32618
2 years ago
Brian Clozel 6ff31fe231 Switch to Spring for GraphQL 1.1.0-SNAPSHOT
See gh-32605
2 years ago
Brian Clozel a681a93443 Micrometer Tracing 1.0.0-SNAPSHOT
See gh-32616
2 years ago
Brian Clozel 3e6ad67f16 Switch to Micrometer 1.10.0-SNAPSHOT
See gh-32598
2 years ago
Andy Wilkinson f2f4a4a40e Space out smart lifecycle phases used for graceful shutdown
Previously, the web server was stopped in the last smart lifecycle
phase with graceful shutdown having begun in the previous phase.
This lack of space between the two phases and after the stop phase
made it hard to for other smart lifecycles to be part of the
graceful shutdown process.

This commit moves stop to 1024 phases before the final phase and
graceful shutdown a further 1024 phases before that, allowing
other smart lifecycles to run between graceful shutdown and stop
and also after stop.

Closes gh-31714
2 years ago
Andy Wilkinson 68e4aa232b Prevent duplicate registration of TestRestTemplate after AOT processing
Closes gh-32542
2 years ago
Andy Wilkinson 188cac6540 Protect against null run process customizer
See 0ee277b8c3
See gh-32607
2 years ago
Johnny Lim 64132afba4 Add Javadoc since for UseMainMethod
See gh-32568
2 years ago
Andy Wilkinson 0ee277b8c3 Ensure that run mojo's child process is killed when Maven is killed
Fixes gh-32607
2 years ago
Stephane Nicoll 4ffc421b3c Adapt to Spring Framework API change 2 years ago
Stephane Nicoll d106fc266a Revert "Adapt to deprecations in Spring Framework snapshots"
This reverts commit ff6acbe972.
2 years ago
Stephane Nicoll 44c843145a Add support for specifying application arguments
This commit makes sure that application arguments can be provided when
optimizing an application at build-time. It uses the same mechanism of
the regular run goal, merging the profile property if set.

Closes gh-32579
2 years ago
Stephane Nicoll 39cf17ed81 Add missing integration test for profile management in process-aot 2 years ago
Stephane Nicoll e94a1f7988 Replace outcome of JsonMixins scanning in AOT optimized contexts
This commit adds an AOT contribution that replaces the scanning of
@JsonMixin by a mapping in generated code. This makes sure that such
components are found in a native image.

Closes gh-32567
2 years ago
Stephane Nicoll ff6acbe972 Adapt to deprecations in Spring Framework snapshots 2 years ago
Andy Wilkinson 5199ffe6a9 Allow auto-configured Rabbit Stream Environment to be customized
Closes gh-32580
2 years ago
Andy Wilkinson 0ae7e935c3 Allow user to replace auto-configured Data JDBC beans
Closes gh-32571
2 years ago
Andy Wilkinson 7c4e46e538 Allow thread dump endpoint to call ThreadMXBean in a native image
Closes gh-31680
2 years ago
Andy Wilkinson e6568596b9 Make max header size config consistent across web servers
Closes gh-29382
2 years ago
Andy Wilkinson 4f86f685c5 Reinstate support for Infinispan
Closes gh-32556
2 years ago
Phillip Webb e0b67889a8 Use Stream.toList instead of Stream.collect when possible
Update code to make use of `Stream.toList()` whenever possible.

Closes gh-28177
2 years ago
Phillip Webb 118836d204 Merge branch '2.7.x'
Closes gh-32576
2 years ago
Phillip Webb 0f4d98b1f4 Merge branch '2.6.x' into 2.7.x
Closes gh-32575
2 years ago
Phillip Webb e917bd0ed0 Only build OutputCapture strings when necessary
Update `OutputCapture` so that expensive build operations are only
performed when necessary. This update is especially important for Kotlin
users calling `"Expected String" in output` since this results in a call
to Kotlin's `CharSequence.contains` which calls the `length()` and
`charAt()` methods many times.

Closes gh-32033
2 years ago
Andy Wilkinson 803d353d49 Fix formatting of R2dbcDataAutoConfiguration
See c2b8d3d.
2 years ago
Andy Wilkinson 3ab36074dc Make management.tracing.enabled are first-class property
This will allow metadata to be generated for it automatically.

Closes gh-31656
2 years ago
Andy Wilkinson 6d4390e034 Simplify ConditionalOnEnabledTracing
Closes gh-32572
2 years ago
Andy Wilkinson 69c8959e6d Remove remnants of references to GlobalKeyValuesProviders
Closes gh-31841
2 years ago
Stephane Nicoll c2b8d3de21 Declare beans that can be instantiated at build-time static
This commit updates the bean factory methods for beans that can be
instantiated at build-time to be static. Doing so makes sure that
the enclosing configuration class does not have to be resolved in
order to create the instance.

Closes gh-32570
2 years ago
Johnny Lim d6cfcd0825 Fix compile errors
Closes gh-32569
2 years ago
Phillip Webb 2c39345794 Merge branch '2.7.x' 2 years ago
Phillip Webb 0e98a577fe Merge branch '2.6.x' into 2.7.x 2 years ago
Phillip Webb 75f4d9e3fd Fix empty @DefaultValue annotation test failures on Java 17
See gh-32559
2 years ago
Phillip Webb bf96816654 Merge branch '2.7.x'
Closes gh-32564
2 years ago
Phillip Webb 1eb0dd5e39 Merge branch '2.6.x' into 2.7.x
Closes gh-32563
2 years ago
Phillip Webb efc431bdc4 Support empty @DefaultValue annotations on aggregates and optional
Update `ValueObjectBinder` to allow an empty `@DefaultValue` to be
used on map, collection, arrays and optional types.

Closes gh-32559
2 years ago
Scott Frederick d25a99692f Replace Spring Boot TestCompiler with Spring Framework's version
See gh-31266
2 years ago
Phillip Webb 8b2fd6a05a Fix formatting 2 years ago
Phillip Webb 63f6d872e0 Test addAotGeneratedInitializerIfNecessary logic
Closes gh-32555
2 years ago
Andy Wilkinson 522cb1c0ea Polish deprecation warnings
See gh-32541
2 years ago
Andy Wilkinson dbcb291b7a Polish
See gh-32541
2 years ago
Andy Wilkinson bcb5e84129 Avoid using reflection when creating composite health contributors
Closes gh-32541
2 years ago
Stephane Nicoll e2dd0ef9a4 Adapt AotProcessor to changes in Spring Framework
Closes gh-32560
2 years ago
Andy Wilkinson 51df7813a5 Remove code deprecated in 2.x and add since and forRemoval attributes
Closes gh-32548
Closes gh-32549
2 years ago
Andy Wilkinson 03b3a772c9 Adapt to PathMatchingResourcePatternResolver's behavior being reverted
See spring-projects/spring-framework#29163
2 years ago
Brian Clozel 5b092f5d80 Polish
See gh-32518
2 years ago
Brian Clozel 7f7ecdc7ac Fix documentation build
See gh-32518
2 years ago
Brian Clozel ceb1e5d223 Polish
See gh-32518
2 years ago
Brian Clozel 8b4a20d6cd Use Observation infrastructure for instrumenting WebClient
As of spring-projects/spring-framework#28341, `WebClient` is
instrumented directly for `Observation`.
This commit removes the custom `ExchangeFilterFunction` that previously
instrumented the client for metrics.

As a result, the relevant tag providers are now deprecated and adapted
as `ObservationConvention` for the time being.

Closes gh-32518
2 years ago
Stephane Nicoll f0e40bb00d Avoid NoSuchMethodError by assigning ApplicationContextInitializer
See gh-32555
2 years ago
Phillip Webb 7a5b61fd19 Replace AotApplicationContextInitializer with Framework version 2 years ago
Andy Wilkinson 7eb8abbda8 Adapt to PathMatchingResourcePatternResolver now matching root dir
See spring-projects/spring-framework#29163
2 years ago
Brian Clozel a0735eb3fb Migrate remaining usage of httpclient API
This commit migrates our remaining usage of the httpclient 4.x to use
instead httpclient5, now that the 4.x support has been removed in
`RestTemplate`.

Closes gh-32461
2 years ago
Brian Clozel cc169e7623 Adapt TestRestTemplate to httpclient5 changes
This commit adapts the `TestRestTemplate` implementation to the
httpclient5 API since httpclient 4.x is now unsupported in Spring
Framework.

See gh-32461
2 years ago
Brian Clozel 3ac034e18a Fail when setReadTimeout on httpclient5 request factory
Prior to this commit, the `RestTemplateBuilder` would offer a generic
`setReadTimeout` method to configure the read timeout on the underlying
`ClientHttpRequestFactory`. This would be done in a reflective fashion,
considering that all implementations align with this behavior.

This option cannot be provided for HttpClient5 at the
`ClientHttpRequestFactory` level anymore, so this has been deprecated
in Spring Framework 6.0 and will log a warning. In order to align with
our existing behavior (throwing exceptions if the option cannot be set),
this commit ensures that exceptions are also thrown if the method is
marked as deprecated.

See gh-32461
2 years ago
Brian Clozel 58f3054624 Adapt RestTemplate factory auto-detection
This commit adapts the auto-detection of `ClientHttpRequestFactory` to
look for an httpclient5 class.

See gh-32461
2 years ago
Brian Clozel 5fb2a50ad0 Adapt build dependencies to httpclient5
As htttpclient 4.x is not supported anymore by `RestTemplate`, this
commit changes such dependencies to httpclient5 instead. In some cases,
the httpclient 4.x was transitively brought by a non-Spring dependency.

See gh-32461
2 years ago
Stephane Nicoll 3702c71fc1 Adapt to Spring AOT changes 2 years ago
Stephane Nicoll d478a020df Start building against Spring Framework 6.0.0-RC1 snapshots
See gh-32550
2 years ago
dreis2211 65ef8fc51a Use ByteArrayOutputStream.toString where possible
See gh-32534
2 years ago
Andy Wilkinson 17953eeb33 Merge branch '2.7.x'
Closes gh-32544
2 years ago
Andy Wilkinson 3ef633b096 Merge branch '2.6.x' into 2.7.x
Closes gh-32543
2 years ago
Andy Wilkinson 84a25c7dcf Configure Log4j2 classpath overrides consistently
Closes gh-32537
2 years ago
Andy Wilkinson f10d696c46 Merge branch '2.7.x'
Closes gh-32536
2 years ago
Andy Wilkinson 9f5b7db553 Merge branch '2.6.x' into 2.7.x
Closes gh-32535
2 years ago
Andy Wilkinson be48f37a83 Fix LogbackMetrics auto-config test with Logback and Log4j2 on cp
Closes gh-32533
2 years ago
dreis2211 388134713e Remove unused MockReactiveWebServerFactory
See gh-32526
2 years ago
dreis2211 f0b4a65546 Avoid usage of StringBuffer where possible
See gh-32519
2 years ago
Andy Wilkinson 0bfa9cd704 Upgrade to Logback 1.4 and SLF4J 2.0
Closes gh-12649
2 years ago
Andy Wilkinson 574242b44f Polish "Break cycles between Zipkin senders and HTTP client observation"
See gh-32528
2 years ago
Marcin Grzejszczak b41ed44b60 Break cycles between Zipkin senders and HTTP client observation
Previously, RestTemplateBuilder and WebClient.Builder beans were used
to create the HTTP client for sending out spans. Those same beans are
also instrumented for observability which results in a cycle.

This commit breaks the cycle by not using the application-web
builders to create the RestTemplate and WebClient's used by the Zipkin
senders. Instead, builders are created inline, with new callbacks
being introduced to allow the user to customize these Zipkin-specific
builders.

See gh-32528
2 years ago
Andy Wilkinson 8c74b62888 Polish "Prefer WebClient to RestTemplate for Zipkin's Sender"
See gh-32529
2 years ago
Marcin Grzejszczak cd3b3d468a Prefer WebClient to RestTemplate for Zipkin's Sender
Previously, a Webclient-based sender was only for reactive web
applications, falling back to a RestTemplate-based sender in all
other cases.

With this commit we now prefer to use WebClient if it is available,
irrespective of the web application type. The assumption is that
if the user has WebClient on the classpath, it's either a reactive
web application, or it's a servlet web application or non-web
application but WebClient is preferred.

See gh-32529
2 years ago
Brian Clozel b325edbc55 Polish
See gh-32484
2 years ago
Brian Clozel eac50a8f0c Auto-configure Observation support for RestTemplate
Prior to this commit, Spring Boot would auto-configure a customizer that
instruments `RestTemplate` through a `RestTemplateBuilder`. This would
install a request interceptor that instrumented client exchanges for
producing metrics.

As of spring-projects/spring-framework#28341, the instrumentation is
done at the `RestTemplate` level directly using the `Observation` API.
The `Tag` (now `KeyValue`) extraction, observation name and
instrumentation behavior now lives in the Spring Framework project.

This commit updates the auto-configuration to switch from Boot-specific
Metrics instrumentation to a generic Observation instrumentation.
As a migration path, some configuration properties are deprecated in
favor of the new `management.observations.*` namespace.

Closes gh-32484
2 years ago
Andy Wilkinson 36a4b36ccb Polish "Add support for MDC, Context Propagation (via B3 and W3C), and Baggage"
See gh-32480
2 years ago
Marcin Grzejszczak 52d1436dc6 Add support for MDC, Context Propagation (via B3 and W3C), and Baggage
See gh-32480
2 years ago
Brian Clozel bf5bd4f91c Upgrade to SnakeYAML 1.33
Closes gh-32522
2 years ago
Andy Wilkinson 243075d3b2 Disable DevTools during AOT processing
Closes gh-32517
2 years ago
Andy Wilkinson 5449397463 Require micrometer-tracing-bridge-otel to auto-configure OTel
Closes gh-32503
2 years ago
Andy Wilkinson 6cc3619675 Require micrometer-tracing-bridge-brave to auto-configure Brave
Closes gh-32502
2 years ago