diff options
| author | Robert Greig <rgreig@apache.org> | 2006-12-12 17:51:55 +0000 |
|---|---|---|
| committer | Robert Greig <rgreig@apache.org> | 2006-12-12 17:51:55 +0000 |
| commit | 19176def0ac87f7dc1e6208edb188000ed80025d (patch) | |
| tree | 21caabd6f39937c9bd88fec285da04f58304b601 /java/client/src/main | |
| parent | 853cf049a66ed4fa727bd2c7c46e0beabeb33a33 (diff) | |
| download | qpid-python-19176def0ac87f7dc1e6208edb188000ed80025d.tar.gz | |
QPID-174 Fix submitted by Rob Godfrey. Now performs a flip() to ensure the limit is set correctly.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@486255 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/client/src/main')
| -rw-r--r-- | java/client/src/main/java/org/apache/qpid/client/message/AbstractJMSMessage.java | 9 | ||||
| -rw-r--r-- | java/client/src/main/java/org/apache/qpid/client/message/JMSObjectMessage.java | 20 |
2 files changed, 19 insertions, 10 deletions
diff --git a/java/client/src/main/java/org/apache/qpid/client/message/AbstractJMSMessage.java b/java/client/src/main/java/org/apache/qpid/client/message/AbstractJMSMessage.java index 6bd4fd0297..279d861cc2 100644 --- a/java/client/src/main/java/org/apache/qpid/client/message/AbstractJMSMessage.java +++ b/java/client/src/main/java/org/apache/qpid/client/message/AbstractJMSMessage.java @@ -505,7 +505,14 @@ public abstract class AbstractJMSMessage extends AMQMessage implements javax.jms // position beyond the start if (_data != null) { - _data.rewind(); + if (!_readableMessage) + { + _data.flip(); + } + else + { + _data.rewind(); + } } return _data; } diff --git a/java/client/src/main/java/org/apache/qpid/client/message/JMSObjectMessage.java b/java/client/src/main/java/org/apache/qpid/client/message/JMSObjectMessage.java index 61f326d52b..7393cea714 100644 --- a/java/client/src/main/java/org/apache/qpid/client/message/JMSObjectMessage.java +++ b/java/client/src/main/java/org/apache/qpid/client/message/JMSObjectMessage.java @@ -7,9 +7,9 @@ * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY @@ -20,18 +20,17 @@ */ package org.apache.qpid.client.message; -import org.apache.qpid.framing.ContentHeaderBody; -import org.apache.qpid.framing.BasicContentHeaderProperties; -import org.apache.qpid.AMQException; import org.apache.mina.common.ByteBuffer; +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.BasicContentHeaderProperties; +import org.apache.qpid.framing.ContentHeaderBody; -import javax.jms.ObjectMessage; import javax.jms.JMSException; import javax.jms.MessageFormatException; -import javax.jms.MessageNotWriteableException; +import javax.jms.ObjectMessage; import java.io.*; -import java.nio.charset.Charset; import java.nio.charset.CharacterCodingException; +import java.nio.charset.Charset; public class JMSObjectMessage extends AbstractJMSMessage implements ObjectMessage { @@ -94,13 +93,16 @@ public class JMSObjectMessage extends AbstractJMSMessage implements ObjectMessag _data = ByteBuffer.allocate(DEFAULT_BUFFER_SIZE); _data.setAutoExpand(true); } + else + { + _data.rewind(); + } try { ObjectOutputStream out = new ObjectOutputStream(_data.asOutputStream()); out.writeObject(serializable); out.flush(); out.close(); - _data.rewind(); } catch (IOException e) { |
