From 80e858de23f7a8e7e8327cb262230769aa49acc4 Mon Sep 17 00:00:00 2001 From: Robert Godfrey Date: Wed, 21 Nov 2012 20:24:03 +0000 Subject: QPID-4453 : [AMQP 1.0 JMS Client] ObjectMessage /w no body improperly converted to an AMQP message. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1412270 13f79535-47bb-0310-9956-ffa450edef68 --- .../qpid/amqp_1_0/jms/impl/ObjectMessageImpl.java | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'java') diff --git a/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/ObjectMessageImpl.java b/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/ObjectMessageImpl.java index 2a52b0557a..95c1497d07 100644 --- a/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/ObjectMessageImpl.java +++ b/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