diff options
author | Rajith Muditha Attapattu <rajith@apache.org> | 2006-12-15 02:44:30 +0000 |
---|---|---|
committer | Rajith Muditha Attapattu <rajith@apache.org> | 2006-12-15 02:44:30 +0000 |
commit | b6e573a5889ff89ccceeab3d3dc0504157a8c285 (patch) | |
tree | bf8042bb8507ed51bf2f3bc733ef85b74ab6f6b1 /java | |
parent | 3f044de86e491ad7c64d3714e06ebfacc36e1a5d (diff) | |
download | qpid-python-b6e573a5889ff89ccceeab3d3dc0504157a8c285.tar.gz |
This contains a fix for QPID-191 and QPID-192
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@487435 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java')
3 files changed, 20 insertions, 6 deletions
diff --git a/java/client/src/main/java/org/apache/qpid/client/message/JMSMapMessage.java b/java/client/src/main/java/org/apache/qpid/client/message/JMSMapMessage.java index 85d434e4eb..1f084b8de3 100644 --- a/java/client/src/main/java/org/apache/qpid/client/message/JMSMapMessage.java +++ b/java/client/src/main/java/org/apache/qpid/client/message/JMSMapMessage.java @@ -53,7 +53,13 @@ public class JMSMapMessage extends JMSBytesMessage implements javax.jms.MapMessa } - JMSMapMessage(long messageNbr, ContentHeaderBody contentHeader, ByteBuffer data) + @Override + public void clearBodyImpl() throws JMSException { + super.clearBodyImpl(); + _map = new PropertyFieldTable(); + } + + JMSMapMessage(long messageNbr, ContentHeaderBody contentHeader, ByteBuffer data) throws AMQException { super(messageNbr, contentHeader, data); @@ -160,7 +166,7 @@ public class JMSMapMessage extends JMSBytesMessage implements javax.jms.MapMessa if (result == null) { - throw new MessageFormatException("getChar couldn't find " + string + " item."); + throw new NullPointerException("getChar couldn't find " + string + " item."); } else { 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 7393cea714..c9fba083ed 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 @@ -71,7 +71,8 @@ public class JMSObjectMessage extends AbstractJMSMessage implements ObjectMessag { _data.release(); } - _data = null; + _data = ByteBuffer.allocate(DEFAULT_BUFFER_SIZE); + _data.setAutoExpand(true); } public String toBodyString() throws JMSException @@ -120,15 +121,18 @@ public class JMSObjectMessage extends AbstractJMSMessage implements ObjectMessag try { + _data.rewind(); in = new ObjectInputStream(_data.asInputStream()); return (Serializable) in.readObject(); } catch (IOException e) - { - throw new MessageFormatException("Could not deserialize message: " + e); + { + e.printStackTrace(); + throw new MessageFormatException("Could not deserialize message: " + e); } catch (ClassNotFoundException e) { + e.printStackTrace(); throw new MessageFormatException("Could not deserialize message: " + e); } finally diff --git a/java/client/src/main/java/org/apache/qpid/client/message/JMSStreamMessage.java b/java/client/src/main/java/org/apache/qpid/client/message/JMSStreamMessage.java index 04f3c5ee17..c2dfdc1b65 100644 --- a/java/client/src/main/java/org/apache/qpid/client/message/JMSStreamMessage.java +++ b/java/client/src/main/java/org/apache/qpid/client/message/JMSStreamMessage.java @@ -226,6 +226,10 @@ public class JMSStreamMessage extends AbstractBytesMessage implements StreamMess byte wireType = readWireType(); try { + if(wireType == NULL_STRING_TYPE){ + throw new NullPointerException(); + } + if (wireType != CHAR_TYPE) { _data.position(position); @@ -428,7 +432,7 @@ public class JMSStreamMessage extends AbstractBytesMessage implements StreamMess break; case NULL_STRING_TYPE: result = null; - break; + throw new NullPointerException("data is null"); case BOOLEAN_TYPE: checkAvailable(1); result = String.valueOf(readBooleanImpl()); |