summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Godfrey <rgodfrey@apache.org>2015-04-12 09:52:52 +0000
committerRobert Godfrey <rgodfrey@apache.org>2015-04-12 09:52:52 +0000
commit10b25e7accce0c9337592c9d36815d0b85379ff9 (patch)
tree637d46a0fed9bd5ae229592ad21f4a428424d609
parent03455261edd8eedee2ec73d097019d64a9765bdb (diff)
downloadqpid-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
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/message/internal/InternalMessage.java1
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/message/internal/InternalMessageMetaData.java1
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/AbstractJDBCMessageStore.java2
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))