From 003d643adcc457478fec972945d2dc7094739b4c Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Sun, 17 Jun 2018 21:42:20 +0200 Subject: [PATCH] Consistent support for new JsonMappingException wording in Jackson 2.9 Issue: SPR-16947 --- .../converter/MappingJackson2MessageConverter.java | 6 +++--- .../json/AbstractJackson2HttpMessageConverter.java | 7 ++++--- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/spring-messaging/src/main/java/org/springframework/messaging/converter/MappingJackson2MessageConverter.java b/spring-messaging/src/main/java/org/springframework/messaging/converter/MappingJackson2MessageConverter.java index eb725fc3ce..ac31d20ec7 100644 --- a/spring-messaging/src/main/java/org/springframework/messaging/converter/MappingJackson2MessageConverter.java +++ b/spring-messaging/src/main/java/org/springframework/messaging/converter/MappingJackson2MessageConverter.java @@ -54,7 +54,7 @@ import org.springframework.util.MimeType; *
  • {@link DeserializationFeature#FAIL_ON_UNKNOWN_PROPERTIES} is disabled
  • * * - *

    Compatible with Jackson 2.6 and higher, as of Spring 4.3. + *

    Compatible with Jackson 2.9 and higher, as of Spring 5.1. * * @author Rossen Stoyanchev * @author Juergen Hoeller @@ -181,8 +181,8 @@ public class MappingJackson2MessageConverter extends AbstractMessageConverter { return; } - boolean debugLevel = (cause instanceof JsonMappingException && - cause.getMessage().startsWith("Can not find")); + // Do not log warning for serializer not found (note: different message wording on Jackson 2.9) + boolean debugLevel = (cause instanceof JsonMappingException && cause.getMessage().startsWith("Cannot find")); if (debugLevel ? logger.isDebugEnabled() : logger.isWarnEnabled()) { String msg = "Failed to evaluate Jackson " + (type instanceof JavaType ? "de" : "") + diff --git a/spring-web/src/main/java/org/springframework/http/converter/json/AbstractJackson2HttpMessageConverter.java b/spring-web/src/main/java/org/springframework/http/converter/json/AbstractJackson2HttpMessageConverter.java index ea72c290e0..5323fea5c0 100644 --- a/spring-web/src/main/java/org/springframework/http/converter/json/AbstractJackson2HttpMessageConverter.java +++ b/spring-web/src/main/java/org/springframework/http/converter/json/AbstractJackson2HttpMessageConverter.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2017 the original author or authors. + * Copyright 2002-2018 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -65,6 +65,7 @@ import org.springframework.util.TypeUtils; * @author Juergen Hoeller * @author Sebastien Deleuze * @since 4.1 + * @see MappingJackson2HttpMessageConverter */ public abstract class AbstractJackson2HttpMessageConverter extends AbstractGenericHttpMessageConverter { @@ -189,8 +190,8 @@ public abstract class AbstractJackson2HttpMessageConverter extends AbstractGener return; } - boolean debugLevel = (cause instanceof JsonMappingException && - (cause.getMessage().startsWith("Can not find") || cause.getMessage().startsWith("Cannot find"))); + // Do not log warning for serializer not found (note: different message wording on Jackson 2.9) + boolean debugLevel = (cause instanceof JsonMappingException && cause.getMessage().startsWith("Cannot find")); if (debugLevel ? logger.isDebugEnabled() : logger.isWarnEnabled()) { String msg = "Failed to evaluate Jackson " + (type instanceof JavaType ? "de" : "") +