From 04a473dce165cd1dfee358e8d0e99098eaffa378 Mon Sep 17 00:00:00 2001 From: Robert Godfrey Date: Wed, 28 Nov 2012 09:02:55 +0000 Subject: QPID-4453 : ObjectMessage /w no body improperly converted to an AMQP message. merge from trunk r1412270 git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/0.20@1414595 13f79535-47bb-0310-9956-ffa450edef68 --- .../qpid/amqp_1_0/jms/impl/ObjectMessageImpl.java | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/ObjectMessageImpl.java b/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/ObjectMessageImpl.java index 2a52b0557a..95c1497d07 100644 --- a/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/ObjectMessageImpl.java +++ b/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/ObjectMessageImpl.java @@ -40,7 +40,25 @@ public class ObjectMessageImpl extends MessageImpl implements ObjectMessage { static final Symbol CONTENT_TYPE = Symbol.valueOf("application/x-java-serialized-object"); - private Data _objectData; + static final Data NULL_OBJECT_DATA; + static + { + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + try + { + ObjectOutputStream oos = new ObjectOutputStream(baos); + oos.writeObject(null); + oos.flush(); + oos.close(); + } + catch (IOException e) + { + throw new RuntimeException(e); + } + NULL_OBJECT_DATA = new Data(new Binary(baos.toByteArray())); + } + + private Data _objectData = NULL_OBJECT_DATA; protected ObjectMessageImpl(Header header, MessageAnnotations messageAnnotations, -- cgit v1.2.1