From 79738d921ad8824ee1c312711ccb63b912403f56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Deleuze?= Date: Mon, 22 Sep 2025 11:16:25 +0200 Subject: [PATCH] Upgrade to Jackson 3.0.0-rc10 See gh-35521 --- framework-platform/framework-platform.gradle | 2 +- .../JacksonJsonMessageConverterTests.java | 6 ++--- .../simp/user/MultiServerUserRegistry.java | 2 +- ...ServerSentEventHttpMessageWriterTests.java | 14 ++++++------ .../codec/json/JacksonJsonEncoderTests.java | 22 +++++++++---------- .../client/RestClientIntegrationTests.java | 2 +- .../reactive/function/BodyInsertersTests.java | 6 ++--- .../client/WebClientIntegrationTests.java | 2 +- 8 files changed, 28 insertions(+), 28 deletions(-) diff --git a/framework-platform/framework-platform.gradle b/framework-platform/framework-platform.gradle index f098c9f7bb2..1b8ddebf99a 100644 --- a/framework-platform/framework-platform.gradle +++ b/framework-platform/framework-platform.gradle @@ -21,7 +21,7 @@ dependencies { api(platform("org.jetbrains.kotlinx:kotlinx-serialization-bom:1.9.0")) api(platform("org.junit:junit-bom:5.13.4")) api(platform("org.mockito:mockito-bom:5.19.0")) - api(platform("tools.jackson:jackson-bom:3.0.0-rc9")) + api(platform("tools.jackson:jackson-bom:3.0.0-rc10")) constraints { api("com.fasterxml:aalto-xml:1.3.3") diff --git a/spring-jms/src/test/java/org/springframework/jms/support/converter/JacksonJsonMessageConverterTests.java b/spring-jms/src/test/java/org/springframework/jms/support/converter/JacksonJsonMessageConverterTests.java index 8530d594d0c..b01f421512e 100644 --- a/spring-jms/src/test/java/org/springframework/jms/support/converter/JacksonJsonMessageConverterTests.java +++ b/spring-jms/src/test/java/org/springframework/jms/support/converter/JacksonJsonMessageConverterTests.java @@ -181,7 +181,7 @@ class JacksonJsonMessageConverterTests { @Test void toTextMessageWithNullReturnType() throws JMSException, NoSuchMethodException { testToTextMessageWithReturnType(null); - verify(sessionMock).createTextMessage("{\"description\":\"lengthy description\",\"name\":\"test\"}"); + verify(sessionMock).createTextMessage("{\"name\":\"test\",\"description\":\"lengthy description\"}"); } @Test @@ -190,7 +190,7 @@ class JacksonJsonMessageConverterTests { MethodParameter returnType = new MethodParameter(method, -1); testToTextMessageWithReturnType(returnType); - verify(sessionMock).createTextMessage("{\"description\":\"lengthy description\",\"name\":\"test\"}"); + verify(sessionMock).createTextMessage("{\"name\":\"test\",\"description\":\"lengthy description\"}"); } @Test @@ -237,7 +237,7 @@ class JacksonJsonMessageConverterTests { converter.toMessage(bean, sessionMock, Full.class); verify(textMessageMock).setStringProperty("__typeid__", MyAnotherBean.class.getName()); - verify(sessionMock).createTextMessage("{\"description\":\"lengthy description\",\"name\":\"test\"}"); + verify(sessionMock).createTextMessage("{\"name\":\"test\",\"description\":\"lengthy description\"}"); } diff --git a/spring-messaging/src/main/java/org/springframework/messaging/simp/user/MultiServerUserRegistry.java b/spring-messaging/src/main/java/org/springframework/messaging/simp/user/MultiServerUserRegistry.java index ee3eca77959..b066c76857d 100644 --- a/spring-messaging/src/main/java/org/springframework/messaging/simp/user/MultiServerUserRegistry.java +++ b/spring-messaging/src/main/java/org/springframework/messaging/simp/user/MultiServerUserRegistry.java @@ -209,7 +209,7 @@ public class MultiServerUserRegistry implements SimpUserRegistry, SmartApplicati /** * Constructor to create DTO from a local user registry. */ - public UserRegistrySnapshot(String id, SimpUserRegistry registry) { + UserRegistrySnapshot(String id, SimpUserRegistry registry) { this.id = id; Set users = registry.getUsers(); this.users = CollectionUtils.newHashMap(users.size()); diff --git a/spring-web/src/test/java/org/springframework/http/codec/ServerSentEventHttpMessageWriterTests.java b/spring-web/src/test/java/org/springframework/http/codec/ServerSentEventHttpMessageWriterTests.java index 87f4a9e9c3f..59aa10ce09b 100644 --- a/spring-web/src/test/java/org/springframework/http/codec/ServerSentEventHttpMessageWriterTests.java +++ b/spring-web/src/test/java/org/springframework/http/codec/ServerSentEventHttpMessageWriterTests.java @@ -151,10 +151,10 @@ class ServerSentEventHttpMessageWriterTests extends AbstractDataBufferAllocating StepVerifier.create(outputMessage.getBody()) .consumeNextWith(stringConsumer("data:")) - .consumeNextWith(stringConsumer("{\"bar\":\"barbar\",\"foo\":\"foofoo\"}")) + .consumeNextWith(stringConsumer("{\"foo\":\"foofoo\",\"bar\":\"barbar\"}")) .consumeNextWith(stringConsumer("\n\n")) .consumeNextWith(stringConsumer("data:")) - .consumeNextWith(stringConsumer("{\"bar\":\"barbarbar\",\"foo\":\"foofoofoo\"}")) + .consumeNextWith(stringConsumer("{\"foo\":\"foofoofoo\",\"bar\":\"barbarbar\"}")) .consumeNextWith(stringConsumer("\n\n")) .expectComplete() .verify(); @@ -175,15 +175,15 @@ class ServerSentEventHttpMessageWriterTests extends AbstractDataBufferAllocating .consumeNextWith(stringConsumer("data:")) .consumeNextWith(stringConsumer(""" { - data: "bar" : "barbar", - data: "foo" : "foofoo" + data: "foo" : "foofoo", + data: "bar" : "barbar" data:}""")) .consumeNextWith(stringConsumer("\n\n")) .consumeNextWith(stringConsumer("data:")) .consumeNextWith(stringConsumer(""" { - data: "bar" : "barbarbar", - data: "foo" : "foofoofoo" + data: "foo" : "foofoofoo", + data: "bar" : "barbarbar" data:}""")) .consumeNextWith(stringConsumer("\n\n")) .expectComplete() @@ -203,7 +203,7 @@ class ServerSentEventHttpMessageWriterTests extends AbstractDataBufferAllocating assertThat(outputMessage.getHeaders().getContentType()).isEqualTo(mediaType); StepVerifier.create(outputMessage.getBody()) .consumeNextWith(stringConsumer("data:", charset)) - .consumeNextWith(stringConsumer("{\"bar\":\"bar\uD834\uDD1E\",\"foo\":\"foo\uD834\uDD1E\"}", charset)) + .consumeNextWith(stringConsumer("{\"foo\":\"foo\uD834\uDD1E\",\"bar\":\"bar\uD834\uDD1E\"}", charset)) .consumeNextWith(stringConsumer("\n\n", charset)) .expectComplete() .verify(); diff --git a/spring-web/src/test/java/org/springframework/http/codec/json/JacksonJsonEncoderTests.java b/spring-web/src/test/java/org/springframework/http/codec/json/JacksonJsonEncoderTests.java index 229fb9fed27..3c2208c0aa1 100644 --- a/spring-web/src/test/java/org/springframework/http/codec/json/JacksonJsonEncoderTests.java +++ b/spring-web/src/test/java/org/springframework/http/codec/json/JacksonJsonEncoderTests.java @@ -98,9 +98,9 @@ class JacksonJsonEncoderTests extends AbstractEncoderTests { new Pojo("foofoofoo", "barbarbar")); testEncodeAll(input, ResolvableType.forClass(Pojo.class), APPLICATION_NDJSON, null, step -> step - .consumeNextWith(expectString("{\"bar\":\"bar\",\"foo\":\"foo\"}\n")) - .consumeNextWith(expectString("{\"bar\":\"barbar\",\"foo\":\"foofoo\"}\n")) - .consumeNextWith(expectString("{\"bar\":\"barbarbar\",\"foo\":\"foofoofoo\"}\n")) + .consumeNextWith(expectString("{\"foo\":\"foo\",\"bar\":\"bar\"}\n")) + .consumeNextWith(expectString("{\"foo\":\"foofoo\",\"bar\":\"barbar\"}\n")) + .consumeNextWith(expectString("{\"foo\":\"foofoofoo\",\"bar\":\"barbarbar\"}\n")) .verifyComplete() ); } @@ -137,9 +137,9 @@ class JacksonJsonEncoderTests extends AbstractEncoderTests { ); testEncode(input, Pojo.class, step -> step - .consumeNextWith(expectString("[{\"bar\":\"bar\",\"foo\":\"foo\"}")) - .consumeNextWith(expectString(",{\"bar\":\"barbar\",\"foo\":\"foofoo\"}")) - .consumeNextWith(expectString(",{\"bar\":\"barbarbar\",\"foo\":\"foofoofoo\"}")) + .consumeNextWith(expectString("[{\"foo\":\"foo\",\"bar\":\"bar\"}")) + .consumeNextWith(expectString(",{\"foo\":\"foofoo\",\"bar\":\"barbar\"}")) + .consumeNextWith(expectString(",{\"foo\":\"foofoofoo\",\"bar\":\"barbarbar\"}")) .consumeNextWith(expectString("]")) .verifyComplete()); } @@ -187,9 +187,9 @@ class JacksonJsonEncoderTests extends AbstractEncoderTests { ); testEncode(input, ResolvableType.forClass(Pojo.class), barMediaType, null, step -> step - .consumeNextWith(expectString("{\"bar\":\"bar\",\"foo\":\"foo\"}\n")) - .consumeNextWith(expectString("{\"bar\":\"barbar\",\"foo\":\"foofoo\"}\n")) - .consumeNextWith(expectString("{\"bar\":\"barbarbar\",\"foo\":\"foofoofoo\"}\n")) + .consumeNextWith(expectString("{\"foo\":\"foo\",\"bar\":\"bar\"}\n")) + .consumeNextWith(expectString("{\"foo\":\"foofoo\",\"bar\":\"barbar\"}\n")) + .consumeNextWith(expectString("{\"foo\":\"foofoofoo\",\"bar\":\"barbarbar\"}\n")) .verifyComplete() ); } @@ -237,7 +237,7 @@ class JacksonJsonEncoderTests extends AbstractEncoderTests { ResolvableType.forClass(Pojo.class), MimeTypeUtils.APPLICATION_JSON, Collections.emptyMap()); StepVerifier.create(result) - .consumeNextWith(expectString("[{\"bar\":\"bar\",\"foo\":\"foo\"}")) + .consumeNextWith(expectString("[{\"foo\":\"foo\",\"bar\":\"bar\"}")) .consumeNextWith(expectString("]")) .expectComplete() .verify(Duration.ofSeconds(5)); @@ -249,7 +249,7 @@ class JacksonJsonEncoderTests extends AbstractEncoderTests { MimeType mimeType = new MimeType("application", "json", StandardCharsets.US_ASCII); testEncode(input, ResolvableType.forClass(Pojo.class), mimeType, null, step -> step - .consumeNextWith(expectString("{\"bar\":\"bar\",\"foo\":\"foo\"}")) + .consumeNextWith(expectString("{\"foo\":\"foo\",\"bar\":\"bar\"}")) .verifyComplete() ); } diff --git a/spring-web/src/test/java/org/springframework/web/client/RestClientIntegrationTests.java b/spring-web/src/test/java/org/springframework/web/client/RestClientIntegrationTests.java index 77c2bfd8765..8ac257ccbac 100644 --- a/spring-web/src/test/java/org/springframework/web/client/RestClientIntegrationTests.java +++ b/spring-web/src/test/java/org/springframework/web/client/RestClientIntegrationTests.java @@ -528,7 +528,7 @@ class RestClientIntegrationTests { expectRequestCount(1); expectRequest(request -> { assertThat(request.getTarget()).isEqualTo("/pojo/capitalize"); - assertThat(request.getBody().utf8()).isEqualTo("{\"bar\":\"barbar\",\"foo\":\"foofoo\"}"); + assertThat(request.getBody().utf8()).isEqualTo("{\"foo\":\"foofoo\",\"bar\":\"barbar\"}"); assertThat(request.getHeaders().get(HttpHeaders.ACCEPT)).isEqualTo("application/json"); assertThat(request.getHeaders().get(HttpHeaders.CONTENT_TYPE)).isEqualTo("application/json"); }); diff --git a/spring-webflux/src/test/java/org/springframework/web/reactive/function/BodyInsertersTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/function/BodyInsertersTests.java index d91049ad5bf..c0a87e81dfa 100644 --- a/spring-webflux/src/test/java/org/springframework/web/reactive/function/BodyInsertersTests.java +++ b/spring-webflux/src/test/java/org/springframework/web/reactive/function/BodyInsertersTests.java @@ -140,7 +140,7 @@ class BodyInsertersTests { StepVerifier.create(result).expectComplete().verify(); StepVerifier.create(response.getBodyAsString()) - .expectNext("{\"password\":\"bar\",\"username\":\"foo\"}") + .expectNext("{\"username\":\"foo\",\"password\":\"bar\"}") .expectComplete() .verify(); } @@ -169,7 +169,7 @@ class BodyInsertersTests { Mono result = inserter.insert(response, this.context); StepVerifier.create(result).expectComplete().verify(); StepVerifier.create(response.getBodyAsString()) - .expectNext("{\"password\":\"bar\",\"username\":\"foo\"}") + .expectNext("{\"username\":\"foo\",\"password\":\"bar\"}") .expectComplete() .verify(); } @@ -200,7 +200,7 @@ class BodyInsertersTests { Mono result = inserter.insert(response, this.context); StepVerifier.create(result).expectComplete().verify(); StepVerifier.create(response.getBodyAsString()) - .expectNext("{\"password\":\"bar\",\"username\":\"foo\"}") + .expectNext("{\"username\":\"foo\",\"password\":\"bar\"}") .expectComplete() .verify(); } diff --git a/spring-webflux/src/test/java/org/springframework/web/reactive/function/client/WebClientIntegrationTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/function/client/WebClientIntegrationTests.java index 6a1c36197c9..e870c28a6eb 100644 --- a/spring-webflux/src/test/java/org/springframework/web/reactive/function/client/WebClientIntegrationTests.java +++ b/spring-webflux/src/test/java/org/springframework/web/reactive/function/client/WebClientIntegrationTests.java @@ -779,7 +779,7 @@ class WebClientIntegrationTests { expectRequestCount(1); expectRequest(request -> { assertThat(request.getTarget()).isEqualTo("/pojo/capitalize"); - assertThat(request.getBody().utf8()).isEqualTo("{\"bar\":\"barbar\",\"foo\":\"foofoo\"}"); + assertThat(request.getBody().utf8()).isEqualTo("{\"foo\":\"foofoo\",\"bar\":\"barbar\"}"); assertThat(request.getHeaders().get(HttpHeaders.CONTENT_LENGTH)).isEqualTo("31"); assertThat(request.getHeaders().get(HttpHeaders.ACCEPT)).isEqualTo("application/json"); assertThat(request.getHeaders().get(HttpHeaders.CONTENT_TYPE)).isEqualTo("application/json");