diff --git a/spring-amqp-core/src/main/java/org/springframework/amqp/core/Message.java b/spring-amqp-core/src/main/java/org/springframework/amqp/core/Message.java index c9a1ee0d..b3537859 100644 --- a/spring-amqp-core/src/main/java/org/springframework/amqp/core/Message.java +++ b/spring-amqp-core/src/main/java/org/springframework/amqp/core/Message.java @@ -13,6 +13,8 @@ package org.springframework.amqp.core; +import java.nio.charset.Charset; + import org.springframework.amqp.utils.SerializationUtils; /** @@ -74,17 +76,15 @@ public class Message { return SerializationUtils.deserialize(body).toString(); } if (MessageProperties.CONTENT_TYPE_TEXT_PLAIN.equals(contentType)) { - // TODO: use charset - return new String(body); + return new String(body, Charset.defaultCharset()); } if (MessageProperties.CONTENT_TYPE_JSON.equals(contentType)) { - // TODO: use charset - return new String(body); + return new String(body, Charset.defaultCharset()); } - return body.toString(); } catch (Exception e) { - return "Undeserializable body of length: " + body.length; + // ignore } + return body.toString()+"(byte["+body.length+"])"; // Comes out as '[B@....b' (so harmless) } } diff --git a/spring-amqp-core/src/test/java/org/springframework/amqp/core/MessageTests.java b/spring-amqp-core/src/test/java/org/springframework/amqp/core/MessageTests.java index 16b17ea9..e8887fb2 100644 --- a/spring-amqp-core/src/test/java/org/springframework/amqp/core/MessageTests.java +++ b/spring-amqp-core/src/test/java/org/springframework/amqp/core/MessageTests.java @@ -60,6 +60,7 @@ public class MessageTests { MessageProperties messageProperties = new MessageProperties(); messageProperties.setContentType(MessageProperties.CONTENT_TYPE_SERIALIZED_OBJECT); Message message = new Message("foo".getBytes(), messageProperties); + System.err.println(message); assertNotNull(message.toString()); }