From bd98e8127f00f55df2c2b29cc1c3efd07764afc2 Mon Sep 17 00:00:00 2001 From: Gary Russell Date: Tue, 31 Jan 2017 16:00:37 -0500 Subject: [PATCH] spring-rabbit-json DefaultClassMapper to Bean The mapper should be a `@Bean` so it's properly initialized. --- .../amqp/samples/json/Application.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/spring-rabbit-json/src/main/java/org/springframework/amqp/samples/json/Application.java b/spring-rabbit-json/src/main/java/org/springframework/amqp/samples/json/Application.java index 52d8e14..b1a3b2a 100644 --- a/spring-rabbit-json/src/main/java/org/springframework/amqp/samples/json/Application.java +++ b/spring-rabbit-json/src/main/java/org/springframework/amqp/samples/json/Application.java @@ -116,15 +116,20 @@ public class Application { }); Jackson2JsonMessageConverter jsonConverter = new Jackson2JsonMessageConverter(); + jsonConverter.setClassMapper(classMapper()); + messageListener.setMessageConverter(jsonConverter); + container.setMessageListener(messageListener); + return container; + } + + @Bean + public DefaultClassMapper classMapper() { DefaultClassMapper classMapper = new DefaultClassMapper(); Map> idClassMapping = new HashMap<>(); idClassMapping.put("foo", Foo.class); idClassMapping.put("bar", Bar.class); classMapper.setIdClassMapping(idClassMapping); - jsonConverter.setClassMapper(classMapper); - messageListener.setMessageConverter(jsonConverter); - container.setMessageListener(messageListener); - return container; + return classMapper; } @Bean