Skip to content

Commit 6d77ce0

Browse files
committed
Upgrade to Jackson 3.0.0-rc10
* Upgrade to the latest Spring deps `SNAPSHOT`s, including Reactor * Fix Jackson test to use a new `registeredModules()` API * Fix `Transformers` & `IntegrationReactiveUtils` for Nullability enforced by Reactor API
1 parent 915a709 commit 6d77ce0

File tree

5 files changed

+20
-21
lines changed

5 files changed

+20
-21
lines changed

build.gradle

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ ext {
6969
hsqldbVersion = '2.7.4'
7070
h2Version = '2.3.232'
7171
jacksonVersion = '2.20.0'
72-
jackson3Version = '3.0.0-rc9'
72+
jackson3Version = '3.0.0-rc10'
7373
jaxbVersion = '4.0.5'
7474
jcifsVersion = '2.1.40'
7575
jeroMqVersion = '0.6.0'
@@ -84,8 +84,8 @@ ext {
8484
lettuceVersion = '6.8.1.RELEASE'
8585
log4jVersion = '2.25.1'
8686
mailVersion = '2.0.4'
87-
micrometerTracingVersion = '1.6.0-M3'
88-
micrometerVersion = '1.16.0-M3'
87+
micrometerTracingVersion = '1.6.0-SNAPSHOT'
88+
micrometerVersion = '1.16.0-SNAPSHOT'
8989
mockitoVersion = '5.19.0'
9090
mongoDriverVersion = '5.6.0'
9191
mysqlVersion = '9.4.0'
@@ -94,18 +94,18 @@ ext {
9494
postgresVersion = '42.7.8'
9595
protobufVersion = '4.32.1'
9696
r2dbch2Version = '1.0.0.RELEASE'
97-
reactorVersion = '2025.0.0-M7'
97+
reactorVersion = '2025.0.0-SNAPSHOT'
9898
resilience4jVersion = '2.3.0'
9999
romeToolsVersion = '2.1.0'
100100
rsocketVersion = '1.1.5'
101101
servletApiVersion = '6.1.0'
102102
smackVersion = '4.4.8'
103103
springAmqpVersion = '4.0.0-SNAPSHOT'
104-
springDataVersion = '2025.1.0-M6'
104+
springDataVersion = '2025.1.0-SNAPSHOT'
105105
springGraphqlVersion = '2.0.0-SNAPSHOT'
106-
springKafkaVersion = '4.0.0-M5'
106+
springKafkaVersion = '4.0.0-SNAPSHOT'
107107
springSecurityVersion = '7.0.0-SNAPSHOT'
108-
springVersion = '7.0.0-M9'
108+
springVersion = '7.0.0-SNAPSHOT'
109109
springWsVersion = '5.0.0-SNAPSHOT'
110110
testcontainersVersion = '1.21.3'
111111
tomcatVersion = '11.0.11'

spring-integration-core/src/main/java/org/springframework/integration/dsl/Transformers.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -311,7 +311,7 @@ public static StreamTransformer fromStream(String charset) {
311311
return new StreamTransformer(charset);
312312
}
313313

314-
@SuppressWarnings("unchecked")
314+
@SuppressWarnings({"unchecked", "NullAway"})
315315
static <I, O> Flux<Message<O>> transformWithFunction(Publisher<Message<I>> publisher,
316316
Function<? super Flux<Message<I>>, ? extends Publisher<O>> fluxFunction) {
317317

spring-integration-core/src/main/java/org/springframework/integration/util/IntegrationReactiveUtils.java

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -119,22 +119,21 @@ public static ContextView captureReactorContext() {
119119
* When {@link MessageSource#receive()} returns {@code null}, the source {@link Mono}
120120
* goes to the {@link Mono#repeatWhenEmpty} state and performs a {@code delay}
121121
* based on the {@link #DELAY_WHEN_EMPTY_KEY} {@link Duration} entry in the subscriber context
122-
* or falls back to 1 second duration.
122+
* or falls back to 1-second duration.
123123
* If a produced message has an
124124
* {@link org.springframework.integration.IntegrationMessageHeaderAccessor#ACKNOWLEDGMENT_CALLBACK} header
125125
* it is ack'ed in the {@link Mono#doOnSuccess} and nack'ed in the {@link Mono#doOnError}.
126126
* @param messageSource the {@link MessageSource} to adapt.
127127
* @param <T> the expected payload type.
128128
* @return a {@link Flux} which pulls messages from the {@link MessageSource} on demand.
129129
*/
130+
@SuppressWarnings("NullAway")
130131
public static <T> Flux<Message<T>> messageSourceToFlux(MessageSource<T> messageSource) {
131132
return Mono.
132133
<Message<T>>create(monoSink ->
133134
monoSink.onRequest(value -> monoSink.success(messageSource.receive())))
134135
.doOnSuccess((message) -> {
135-
if (message != null) {
136-
AckUtils.autoAck(StaticMessageHeaderAccessor.getAcknowledgmentCallback(message));
137-
}
136+
AckUtils.autoAck(StaticMessageHeaderAccessor.getAcknowledgmentCallback(message));
138137
})
139138
.doOnError(MessagingException.class,
140139
(ex) -> {
@@ -189,12 +188,12 @@ private static <T> Flux<Message<T>> adaptSubscribableChannelToPublisher(Subscrib
189188
Sinks.Many<Message<T>> sink = Sinks.many().unicast().onBackpressureError();
190189
MessageHandler messageHandler = (message) -> {
191190
Message<?> messageToEmit = message;
192-
ContextView contextView = IntegrationReactiveUtils.captureReactorContext();
193-
if (!contextView.isEmpty()) {
194-
messageToEmit = MutableMessageBuilder.fromMessage(message)
195-
.setHeader(IntegrationMessageHeaderAccessor.REACTOR_CONTEXT, contextView)
196-
.build();
197-
}
191+
ContextView contextView = IntegrationReactiveUtils.captureReactorContext();
192+
if (!contextView.isEmpty()) {
193+
messageToEmit = MutableMessageBuilder.fromMessage(message)
194+
.setHeader(IntegrationMessageHeaderAccessor.REACTOR_CONTEXT, contextView)
195+
.build();
196+
}
198197
while (true) {
199198
switch (sink.tryEmitNext((Message<T>) messageToEmit)) {
200199
case FAIL_NON_SERIALIZED:

spring-integration-core/src/test/java/org/springframework/integration/support/json/JacksonJsonObjectMapperTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,8 @@ void compareAutoDiscoveryVsManualModules() {
7272
.addModules(kotlinModule)
7373
.build();
7474

75-
Set<String> autoModuleNames = getModuleNames(mapper.getObjectMapper().getRegisteredModules());
76-
Set<String> manualModuleNames = getModuleNames(manualMapper.getRegisteredModules());
75+
Set<String> autoModuleNames = getModuleNames(mapper.getObjectMapper().registeredModules().stream());
76+
Set<String> manualModuleNames = getModuleNames(manualMapper.registeredModules().stream());
7777

7878
assertThat(autoModuleNames).isEqualTo(manualModuleNames);
7979
}

spring-integration-core/src/test/java/org/springframework/integration/support/json/JacksonMessagingUtilsTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ void setUp() {
5353
@Test
5454
void shouldIncludeKotlinModule() {
5555
KotlinModule kotlinModule = new KotlinModule.Builder().build();
56-
Set<String> registeredModuleNames = getModuleNames(mapper.getRegisteredModules());
56+
Set<String> registeredModuleNames = getModuleNames(mapper.registeredModules().stream());
5757
assertThat(registeredModuleNames).contains(kotlinModule.getModuleName());
5858
}
5959

0 commit comments

Comments
 (0)