Commit Graph

40670 Commits (272133ce84f485f2f1bc0f0157cb00246392f4e2)
 

Author SHA1 Message Date
Phillip Webb 0f405c06bf Merge branch '2.7.x' 2 years ago
Phillip Webb f44531a7a2 Merge branch '2.6.x' into 2.7.x 2 years ago
Phillip Webb 92b513dc8d Polish 2 years ago
Phillip Webb 4be3218cb6 Merge branch '2.7.x' 2 years ago
Phillip Webb c8676a81de Merge branch '2.6.x' into 2.7.x 2 years ago
Phillip Webb d7ac20cd6c Update copyright year of changed files 2 years ago
Phillip Webb 9505673d6f Ensure application event listeners are always refreshed
Update `EventPublishingRunListener` to ensure that application event
listeners are always refreshed before multicasting initial events.

Prior to this commit, refreshing occurred after multicasting which
meant that listeners added by a different `SpringApplicationRunListener`
would not be picked up. This caused properties from tests that have
`UseMainMethod` set to `ALWAYS` or `WHEN_AVAILABLE` to be missing.

Fixes gh-32860
2 years ago
Phillip Webb 159910b0d9 Polish 2 years ago
Andy Wilkinson e6c37d698f Reinstate support for read timeouts with RestTemplateBuilder
Refactor the way `ClientHttpRequestFactory` instances are created in
order to support setting read timeouts.

Prior to this commit, the reflection based approach would call
`setReadTimeout`. As of Spring Framework 6.0, the
`HttpComponentsClientHttpRequestFactory` class no longer supports this
approach. The timeout must be set on the `HttpClientConnectionManager`
used in the `HttpClient` which can be passed in to the constructor.

In order to support this approach, the `ClientHttpRequestFactory` can
now be created using a `Function` rather than a `Supplier`. The
function accepts a `ClientHttpRequestFactorySettings` which provides
the timeout settings to apply.

The `ClientHttpRequestFactories` utility class provides methods to
create `ClientHttpRequestFactory` instances that respect the settings.
Whenever possible, these are created without using reflection.

Fixes gh-32857

Co-authored-by: Phillip Webb <pwebb@vmware.com>
2 years ago
Scott Frederick c22e76632c Add Build-Jdk-Spec to jar and war manifest when building with Gradle
This commit adds a `Build-Jdk-Spec` attribute to the manifest in a
jar or war file built with the Spring Boot Gradle plugin. This
aligns the Gradle plugin's behavior with the default Maven plugin
behavior.

This removes the need to set a `BP_JVM_VERSION` environment variable
when invoking Cloud Native Buildpacks, as the Paketo buildpacks will
honor `Build-Jdk-Spec` in a jar or war manifest to determine the
default JVM version.

Fixes gh-32829
2 years ago
Moritz Halbritter 383d6c897f Remove reflection for SimpleRequestExpectationManager creation
Closes gh-32867
2 years ago
Moritz Halbritter 9ee3fd0b0b Disable HttpGraphQlTesterContextCustomizer after AOT processing
After AOT processing, a HttpGraphQlTester bean will be defined directly
so the context customizer that initiates its registration is not
needed.

Closes gh-32872
2 years ago
Andy Wilkinson 99edda735e Polish 2 years ago
Moritz Halbritter b014039a34 Disable WebTestClientContextCustomizer after AOT processing
After AOT processing, a WebTestClient bean will be defined directly
so the context customizer that initiates its registration is not
needed.

Closes gh-32859
2 years ago
Moritz Halbritter f2c004f604 Remove reflection in OutputCaptureExtension
Closes gh-32870
2 years ago
Moritz Halbritter 512a4c7544 Revert "Register runtime hints for OutputCapture"
This reverts commit 35abc3a6dc.
2 years ago
Moritz Halbritter 35abc3a6dc Register runtime hints for OutputCapture
Closes gh-32870
2 years ago
Andy Wilkinson f11945b961 Start building against Spring Framework 6.0.0-RC3 snapshots
See gh-32856
2 years ago
Andy Wilkinson b7fb345709 Revert workaround for multiple ImportRuntimeHints
Closes gh-32830
2 years ago
Andy Wilkinson b78e7b5ac7 Disable TestRestTemplateContextCustomizer after AOT processing
After AOT processing, a TestRestTemplate bean will be defined
directly so the context customizer that initiates its registration is
not needed. We'd already disabled the registrar but this is
insufficient in Graal 22.3 which fails fast when the customizer tries
to reference the registrar.

Fixes gh-32848
2 years ago
Moritz Halbritter 605dd3d4bd Polish docs 2 years ago
Andy Wilkinson 9e6259cd37 Remove development-only dependencies from native image classpath
Fixes gh-32843
2 years ago
Andy Wilkinson b0b2818f0b Improve type discovery in Logback AOT contribution
Logback can infer the Java class to which an XML tag should be mapped
by looking for a setter method on the class to which the parent tag
was mapped. This commits ensures that reflection hints are added for
such classes.

Fixes gh-32839
2 years ago
Andy Wilkinson eebe23a081 Make all AOT-generated resources available to native-compile
Fixes gh-32841
2 years ago
Moritz Halbritter ff6d9aa881 Polish "Add micrometer tracing documentation" 2 years ago
Andy Wilkinson bed313746b Correct property names to align with changes in 3.0
See gh-32837
2 years ago
Andy Wilkinson 34d2aef1ee Merge pull request #32792 from izeye
* gh-32792:
  Add missing @Test to sanitizeLists()

Closes gh-32792
2 years ago
Johnny Lim fc61690675 Add missing @Test to sanitizeLists()
See gh-32792
2 years ago
Andy Wilkinson c41a92f66e Merge branch '2.7.x'
Closes gh-32802
2 years ago
Andy Wilkinson 02457d8103 Merge branch '2.6.x' into 2.7.x
Closes gh-32804
2 years ago
Andy Wilkinson a2cb3c67c3 Upgrade CI images to Docker 20.10.20
Closes gh-32810
2 years ago
Andy Wilkinson 3c9be8bfcc Merge branch '2.7.x'
Closes gh-32801
2 years ago
Andy Wilkinson 8b950bf07c Merge branch '2.6.x' into 2.7.x
Closes gh-32803
2 years ago
Andy Wilkinson de3aa29ab0 Upgrade Java 17 CI to 17.0.5+8
Closes gh-32808
2 years ago
Andy Wilkinson bbc5aed6b3 Merge branch '2.7.x' 2 years ago
Andy Wilkinson db1e5d1bb5 Merge branch '2.6.x' into 2.7.x
Closes gh-32805
2 years ago
Andy Wilkinson f26cb53fe6 Upgrade Java 11 CI to 11.0.17+7
Closes gh-32809
2 years ago
Andy Wilkinson 965ac59c8c Merge branch '2.7.x' 2 years ago
Andy Wilkinson c8ec176760 Merge branch '2.6.x' into 2.7.x
Closes gh-32806
2 years ago
Andy Wilkinson 92ce609b75 Upgrade Java 8 CI to 8.0.352
Closes gh-32807
2 years ago
Andy Wilkinson a606b26920 Merge branch '2.7.x'
Closes gh-32837
2 years ago
Andy Wilkinson 032487117b Merge branch '2.6.x' into 2.7.x
Closes gh-32836
2 years ago
Andy Wilkinson fe51e03019 Support IPv6 addresses in spring.redis.sentinel.nodes
Fixes gh-32762
2 years ago
Moritz Halbritter e999513838 Add micrometer tracing documentation
Closes gh-30658
2 years ago
Phillip Webb 7ddd1e2bed Merge pull request #29361 from sdeleuze
* pr/32822:
  Provide a workaround to allow multiple @ImportRuntimeHints

Closes gh-29361
2 years ago
Sébastien Deleuze 4e131bd627 Provide a workaround to allow multiple @ImportRuntimeHints
Provide a workaround for spring-projects/spring-framework#29361 so
that multiple `@ImportRuntimeHints` can be used in a type hierarchy.

The commit should cover Actuator web endpoint use cases with the
exception of Cloud Foundry endpoints which are not possible due to
package access issues.

See gh-29361
2 years ago
Phillip Webb ea094ddba6 Fix package tangles caused by ConfigurationProperties hints
Relocate `ConfigurationPropertiesReflectionHintsProcessor` and refactor
it to be a general purpose `BindableRuntimeHintsRegistrar`.

Prior to this commit, `ConfigurationPropertiesReflectionHintsProcessor`
was used to declare binding hints for classes that were bound, but
might be `@ConfigurationProperties`. By moving and renaming the class,
it's now better aligned to the way it's used.

Support for `@NestedConfigurationProperties` has been implemented by
adding a `@Nestable` meta-annotation. This allow us to create the
appropriate hints, without the `Binder` needing to be directly aware of
the `@NestedConfigurationProperties` annotation.

Closes gh-32815
2 years ago
Phillip Webb eb1d72e7b7 Merge branch '2.7.x' 2 years ago
Phillip Webb d8c4aec946 Merge branch '2.6.x' into 2.7.x 2 years ago
Phillip Webb 1a14f39f83 Polish 2 years ago