【发布时间】:2019-01-23 13:14:16
【问题描述】:
我在我的应用程序中配置了一个自定义 ObjectMapper,它具有用于反序列化 Guava 在 Jackson 中提供的不可变类型的自定义模块。
我的问题是我似乎无法覆盖 @StreamListener 使用的 objectMapper 以便正确反序列化我的对象。
这是我尝试过的:
@Bean
public MessageConverter messageConverter() {
final MappingJackson2MessageConverter mappingJackson2MessageConverter = new MappingJackson2MessageConverter();
mappingJackson2MessageConverter.setObjectMapper(objectMapper);
return mappingJackson2MessageConverter;
}
上面的sn-p在一个用@Configuration注解的类中,objectMapper在类中定义:
public static final ObjectMapper objectMapper = new ObjectMapper()
.registerModule(new ParameterNamesModule(JsonCreator.Mode.PROPERTIES))
.registerModule(new GuavaModule());
关于我可能缺少什么的任何想法?
- Spring Boot: 1.5.10.RELEASE
- 春兔: 1.7.6.RELEASE
- Spring Cloud Stream: 1.2.2.RELEASE
- 春季消息: 4.3.14.RELEASE
【问题讨论】:
-
您使用的是旧版本。您可以尝试升级到 Spring Cloud Stream 2.0.x 版本(需要 Boot 2.0.x)吗?
-
@sobychacko,如果我有一个简单的选择,我肯定会这样做。但是,我正在尝试为当前版本堆栈解决此问题。
标签: spring spring-cloud-stream spring-rabbit jackson-databind spring-messaging