Skip to content

Commit 5793c55

Browse files
authored
Upgrade Spring Boot 4.0.2, Spring Framework 7.0.3, Spring Cloud OpenFeign 5.0.1 (#3211)
* Upgrade Spring Boot 4.0.2, Spring Framework 7.0.3, Spring Cloud OpenFeign 5.0.1 Signed-off-by: Marvin Froeder <velo.br@gmail.com> * Increase Http2ClientAsyncTest timeout from 1s to 10s Signed-off-by: Marvin Froeder <velo.br@gmail.com> --------- Signed-off-by: Marvin Froeder <velo.br@gmail.com>
1 parent f04e8a4 commit 5793c55

6 files changed

Lines changed: 19 additions & 38 deletions

File tree

form-spring/src/test/java/feign/form/feign/spring/Client.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,9 @@
2525
import feign.form.spring.SpringFormEncoder;
2626
import java.util.List;
2727
import java.util.Map;
28-
import org.springframework.beans.factory.ObjectFactory;
29-
import org.springframework.beans.factory.annotation.Autowired;
30-
import org.springframework.boot.autoconfigure.http.HttpMessageConverters;
28+
import org.springframework.beans.factory.ObjectProvider;
3129
import org.springframework.cloud.openfeign.FeignClient;
30+
import org.springframework.cloud.openfeign.support.FeignHttpMessageConverters;
3231
import org.springframework.cloud.openfeign.support.SpringEncoder;
3332
import org.springframework.context.annotation.Bean;
3433
import org.springframework.web.bind.annotation.PathVariable;
@@ -91,10 +90,8 @@ String upload4(
9190

9291
class ClientConfiguration {
9392

94-
@Autowired private ObjectFactory<HttpMessageConverters> messageConverters;
95-
9693
@Bean
97-
Encoder feignEncoder() {
94+
Encoder feignEncoder(ObjectProvider<FeignHttpMessageConverters> messageConverters) {
9895
return new SpringFormEncoder(new SpringEncoder(messageConverters));
9996
}
10097

form-spring/src/test/java/feign/form/feign/spring/DownloadClient.java

Lines changed: 9 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,12 @@
1818
import feign.Logger;
1919
import feign.codec.Decoder;
2020
import feign.form.spring.converter.SpringManyMultipartFilesReader;
21-
import java.util.ArrayList;
22-
import org.springframework.beans.factory.ObjectFactory;
23-
import org.springframework.beans.factory.annotation.Autowired;
24-
import org.springframework.boot.autoconfigure.http.HttpMessageConverters;
21+
import org.springframework.beans.factory.ObjectProvider;
2522
import org.springframework.cloud.openfeign.FeignClient;
23+
import org.springframework.cloud.openfeign.support.FeignHttpMessageConverters;
24+
import org.springframework.cloud.openfeign.support.HttpMessageConverterCustomizer;
2625
import org.springframework.cloud.openfeign.support.SpringDecoder;
2726
import org.springframework.context.annotation.Bean;
28-
import org.springframework.http.converter.HttpMessageConverter;
2927
import org.springframework.web.bind.annotation.PathVariable;
3028
import org.springframework.web.bind.annotation.RequestMapping;
3129
import org.springframework.web.multipart.MultipartFile;
@@ -41,26 +39,14 @@ interface DownloadClient {
4139

4240
class ClientConfiguration {
4341

44-
@Autowired private ObjectFactory<HttpMessageConverters> messageConverters;
45-
4642
@Bean
47-
Decoder feignDecoder() {
48-
var springConverters = messageConverters.getObject().getConverters();
49-
var decoderConverters = new ArrayList<HttpMessageConverter<?>>(springConverters.size() + 1);
50-
51-
decoderConverters.addAll(springConverters);
52-
decoderConverters.add(new SpringManyMultipartFilesReader(4096));
53-
54-
var httpMessageConverters = new HttpMessageConverters(decoderConverters);
55-
56-
return new SpringDecoder(
57-
new ObjectFactory<HttpMessageConverters>() {
43+
HttpMessageConverterCustomizer multipartConverterCustomizer() {
44+
return converters -> converters.add(new SpringManyMultipartFilesReader(4096));
45+
}
5846

59-
@Override
60-
public HttpMessageConverters getObject() {
61-
return httpMessageConverters;
62-
}
63-
});
47+
@Bean
48+
Decoder feignDecoder(ObjectProvider<FeignHttpMessageConverters> messageConverters) {
49+
return new SpringDecoder(messageConverters);
6450
}
6551

6652
@Bean

form-spring/src/test/java/feign/form/feign/spring/converter/SpringManyMultipartFilesReaderTest.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
*/
1616
package feign.form.feign.spring.converter;
1717

18-
import static java.util.Collections.singletonList;
1918
import static org.assertj.core.api.Assertions.assertThat;
2019
import static org.springframework.http.HttpHeaders.CONTENT_TYPE;
2120
import static org.springframework.http.MediaType.MULTIPART_FORM_DATA_VALUE;
@@ -84,9 +83,8 @@ public InputStream getBody() throws IOException {
8483
@Override
8584
public HttpHeaders getHeaders() {
8685
var httpHeaders = new HttpHeaders();
87-
httpHeaders.put(
88-
CONTENT_TYPE,
89-
singletonList(MULTIPART_FORM_DATA_VALUE + "; boundary=" + DUMMY_MULTIPART_BOUNDARY));
86+
httpHeaders.set(
87+
CONTENT_TYPE, MULTIPART_FORM_DATA_VALUE + "; boundary=" + DUMMY_MULTIPART_BOUNDARY);
9088
return httpHeaders;
9189
}
9290
}

java11/src/test/java/feign/http2client/test/Http2ClientAsyncTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -460,7 +460,7 @@ void configKeyUsesChildType() throws Exception {
460460

461461
private <T> T unwrap(CompletableFuture<T> cf) throws Throwable {
462462
try {
463-
return cf.get(1, TimeUnit.SECONDS);
463+
return cf.get(10, TimeUnit.SECONDS);
464464
} catch (final ExecutionException e) {
465465
throw e.getCause();
466466
}

pom.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@
165165
<moshi.version>1.15.2</moshi.version>
166166
<slf4j.version>2.0.17</slf4j.version>
167167
<json.version>20250517</json.version>
168-
<springboot.version>3.5.6</springboot.version>
168+
<springboot.version>4.0.2</springboot.version>
169169

170170
<junit5.version>6.0.2</junit5.version>
171171
<jackson.version>2.21.0</jackson.version>
@@ -237,9 +237,9 @@
237237
<saaj-impl-1.version>1.5.3</saaj-impl-1.version>
238238
<saaj-impl-3.version>3.0.2</saaj-impl-3.version>
239239
<spring-cloud-dependencies.version>2025.1.1</spring-cloud-dependencies.version>
240-
<spring-cloud-starter-openfeign.version>4.3.0</spring-cloud-starter-openfeign.version>
240+
<spring-cloud-starter-openfeign.version>5.0.1</spring-cloud-starter-openfeign.version>
241241
<spring-context.version>7.0.3</spring-context.version>
242-
<spring-web.version>6.2.11</spring-web.version>
242+
<spring-web.version>7.0.3</spring-web.version>
243243
<undertow-core.version>2.3.23.Final</undertow-core.version>
244244
<utils-java.version>1.18.0</utils-java.version>
245245
</properties>

spring/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131

3232
<properties>
3333
<main.java.version>17</main.java.version>
34-
<spring.version>6.2.11</spring.version>
34+
<spring.version>7.0.3</spring.version>
3535
</properties>
3636

3737
<dependencies>

0 commit comments

Comments
 (0)