Commit Graph

40167 Commits

Author SHA1 Message Date
Phillip Webb
4be3218cb6 Merge branch '2.7.x' 2022-10-25 15:48:26 -07:00
Phillip Webb
c8676a81de Merge branch '2.6.x' into 2.7.x 2022-10-25 15:48:04 -07:00
Phillip Webb
d7ac20cd6c Update copyright year of changed files 2022-10-25 15:47:30 -07:00
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
2022-10-25 15:41:57 -07:00
Phillip Webb
159910b0d9 Polish 2022-10-25 14:49:04 -07:00
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>
2022-10-25 14:41:19 -07:00
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
2022-10-25 15:48:05 -05:00
Moritz Halbritter
383d6c897f Remove reflection for SimpleRequestExpectationManager creation
Closes gh-32867
2022-10-25 16:15:51 +02:00
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
2022-10-25 14:02:55 +02:00
Andy Wilkinson
99edda735e Polish 2022-10-25 12:57:58 +01:00
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
2022-10-25 13:51:43 +02:00
Moritz Halbritter
f2c004f604 Remove reflection in OutputCaptureExtension
Closes gh-32870
2022-10-25 11:42:52 +02:00
Moritz Halbritter
512a4c7544 Revert "Register runtime hints for OutputCapture"
This reverts commit 35abc3a6dc.
2022-10-25 11:40:44 +02:00
Moritz Halbritter
35abc3a6dc Register runtime hints for OutputCapture
Closes gh-32870
2022-10-25 11:29:12 +02:00
Andy Wilkinson
f11945b961 Start building against Spring Framework 6.0.0-RC3 snapshots
See gh-32856
2022-10-24 12:19:16 +01:00
Andy Wilkinson
b7fb345709 Revert workaround for multiple ImportRuntimeHints
Closes gh-32830
2022-10-24 10:20:50 +01:00
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
2022-10-24 10:18:08 +01:00
Moritz Halbritter
605dd3d4bd Polish docs 2022-10-24 11:01:30 +02:00
Andy Wilkinson
9e6259cd37 Remove development-only dependencies from native image classpath
Fixes gh-32843
2022-10-24 09:22:13 +01:00
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
2022-10-21 16:38:52 +01:00
Andy Wilkinson
eebe23a081 Make all AOT-generated resources available to native-compile
Fixes gh-32841
2022-10-21 16:38:52 +01:00
Moritz Halbritter
ff6d9aa881 Polish "Add micrometer tracing documentation" 2022-10-21 14:51:19 +02:00
Andy Wilkinson
bed313746b Correct property names to align with changes in 3.0
See gh-32837
2022-10-21 12:23:07 +01:00
Andy Wilkinson
34d2aef1ee Merge pull request #32792 from izeye
* gh-32792:
  Add missing @Test to sanitizeLists()

Closes gh-32792
2022-10-21 12:06:18 +01:00
Johnny Lim
fc61690675 Add missing @Test to sanitizeLists()
See gh-32792
2022-10-21 12:05:44 +01:00
Andy Wilkinson
c41a92f66e Merge branch '2.7.x'
Closes gh-32802
2022-10-21 11:39:03 +01:00
Andy Wilkinson
02457d8103 Merge branch '2.6.x' into 2.7.x
Closes gh-32804
2022-10-21 11:38:39 +01:00
Andy Wilkinson
a2cb3c67c3 Upgrade CI images to Docker 20.10.20
Closes gh-32810
2022-10-21 11:37:51 +01:00
Andy Wilkinson
3c9be8bfcc Merge branch '2.7.x'
Closes gh-32801
2022-10-21 11:33:24 +01:00
Andy Wilkinson
8b950bf07c Merge branch '2.6.x' into 2.7.x
Closes gh-32803
2022-10-21 11:29:46 +01:00
Andy Wilkinson
de3aa29ab0 Upgrade Java 17 CI to 17.0.5+8
Closes gh-32808
2022-10-21 11:29:15 +01:00
Andy Wilkinson
bbc5aed6b3 Merge branch '2.7.x' 2022-10-21 11:23:04 +01:00
Andy Wilkinson
db1e5d1bb5 Merge branch '2.6.x' into 2.7.x
Closes gh-32805
2022-10-21 11:22:32 +01:00
Andy Wilkinson
f26cb53fe6 Upgrade Java 11 CI to 11.0.17+7
Closes gh-32809
2022-10-21 11:21:49 +01:00
Andy Wilkinson
965ac59c8c Merge branch '2.7.x' 2022-10-21 11:19:01 +01:00
Andy Wilkinson
c8ec176760 Merge branch '2.6.x' into 2.7.x
Closes gh-32806
2022-10-21 11:18:09 +01:00
Andy Wilkinson
92ce609b75 Upgrade Java 8 CI to 8.0.352
Closes gh-32807
2022-10-21 11:08:59 +01:00
Andy Wilkinson
a606b26920 Merge branch '2.7.x'
Closes gh-32837
2022-10-21 11:04:52 +01:00
Andy Wilkinson
032487117b Merge branch '2.6.x' into 2.7.x
Closes gh-32836
2022-10-21 11:04:09 +01:00
Andy Wilkinson
fe51e03019 Support IPv6 addresses in spring.redis.sentinel.nodes
Fixes gh-32762
2022-10-21 10:53:54 +01:00
Moritz Halbritter
e999513838 Add micrometer tracing documentation
Closes gh-30658
2022-10-21 10:04:40 +02:00
Phillip Webb
7ddd1e2bed Merge pull request #29361 from sdeleuze
* pr/32822:
  Provide a workaround to allow multiple @ImportRuntimeHints

Closes gh-29361
2022-10-20 17:13:29 -07:00
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
2022-10-20 17:12:58 -07:00
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
2022-10-20 17:05:54 -07:00
Phillip Webb
eb1d72e7b7 Merge branch '2.7.x' 2022-10-20 17:05:49 -07:00
Phillip Webb
d8c4aec946 Merge branch '2.6.x' into 2.7.x 2022-10-20 17:04:37 -07:00
Phillip Webb
1a14f39f83 Polish 2022-10-20 17:04:29 -07:00
Scott Frederick
3eb61bf010 Use Paketo early access buildpack in Paketo native system tests
Closes gh-32828
2022-10-20 17:29:33 -05:00
Phillip Webb
7db93aeb90 Merge branch '2.7.x'
Closes gh-32827
2022-10-20 15:20:15 -07:00
Phillip Webb
1c7bff7cc1 Merge branch '2.6.x' into 2.7.x
Closes gh-32826
2022-10-20 15:01:00 -07:00