diff options
author | Robert Godfrey <rgodfrey@apache.org> | 2015-04-12 09:52:52 +0000 |
---|---|---|
committer | Robert Godfrey <rgodfrey@apache.org> | 2015-04-12 09:52:52 +0000 |
commit | 10b25e7accce0c9337592c9d36815d0b85379ff9 (patch) | |
tree | 637d46a0fed9bd5ae229592ad21f4a428424d609 | |
parent | 03455261edd8eedee2ec73d097019d64a9765bdb (diff) | |
download | qpid-python-10b25e7accce0c9337592c9d36815d0b85379ff9.tar.gz |
QPID-6476 : Fix InternalMessage implementation so it can be stored
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1672997 13f79535-47bb-0310-9956-ffa450edef68
3 files changed, 3 insertions, 1 deletions
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/message/internal/InternalMessage.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/message/internal/InternalMessage.java index 4d6216b9df..9137de6fb5 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/message/internal/InternalMessage.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/message/internal/InternalMessage.java @@ -131,6 +131,7 @@ public class InternalMessage extends AbstractServerMessageImpl<InternalMessage, try (ObjectOutputStream os = new ObjectOutputStream(bytesOut)) { os.writeObject(bodyObject); + os.close(); byte[] bytes = bytesOut.toByteArray(); diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/message/internal/InternalMessageMetaData.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/message/internal/InternalMessageMetaData.java index 28fe23d11b..15440722fb 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/message/internal/InternalMessageMetaData.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/message/internal/InternalMessageMetaData.java @@ -49,6 +49,7 @@ public class InternalMessageMetaData implements StorableMessageMetaData { os.writeInt(contentSize); os.writeObject(header); + os.close(); _headerBytes = bytesOut.toByteArray(); } catch (IOException e) diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/AbstractJDBCMessageStore.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/AbstractJDBCMessageStore.java index c6e6e41465..4828bebce9 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/AbstractJDBCMessageStore.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/AbstractJDBCMessageStore.java @@ -1973,7 +1973,7 @@ public abstract class AbstractJDBCMessageStore implements MessageStore ByteBuffer buf = ByteBuffer.wrap(dataAsBytes); buf.position(1); buf = buf.slice(); - MessageMetaDataType<?> type = MessageMetaDataTypeRegistry.fromOrdinal(dataAsBytes[0]); + MessageMetaDataType<?> type = MessageMetaDataTypeRegistry.fromOrdinal(((int)dataAsBytes[0]) &0xff); StorableMessageMetaData metaData = type.createMetaData(buf); StoredJDBCMessage message = new StoredJDBCMessage(messageId, metaData, true); if (!handler.handle(message)) |