summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
authorArnaud Simon <arnaudsimon@apache.org>2007-08-24 15:59:22 +0000
committerArnaud Simon <arnaudsimon@apache.org>2007-08-24 15:59:22 +0000
commit65f3a76fbfb0ca5d3178be80e35f378faad8ac62 (patch)
tree1544cf2f0dc1c7e5f1296f91e44ca67b331a29fe /java
parent521f76262032fd020dd804bc0088955df6c566ec (diff)
downloadqpid-python-65f3a76fbfb0ca5d3178be80e35f378faad8ac62.tar.gz
updated afterReceive
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@569431 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java')
-rw-r--r--java/client/src/main/java/org/apache/qpidity/jms/MessageConsumerImpl.java2
-rw-r--r--java/client/src/main/java/org/apache/qpidity/jms/message/BytesMessageImpl.java3
-rw-r--r--java/client/src/main/java/org/apache/qpidity/jms/message/MapMessageImpl.java4
-rw-r--r--java/client/src/main/java/org/apache/qpidity/jms/message/ObjectMessageImpl.java38
-rw-r--r--java/client/src/main/java/org/apache/qpidity/jms/message/TextMessageImpl.java7
5 files changed, 32 insertions, 22 deletions
diff --git a/java/client/src/main/java/org/apache/qpidity/jms/MessageConsumerImpl.java b/java/client/src/main/java/org/apache/qpidity/jms/MessageConsumerImpl.java
index bc60ef94a0..a3c7f6c94b 100644
--- a/java/client/src/main/java/org/apache/qpidity/jms/MessageConsumerImpl.java
+++ b/java/client/src/main/java/org/apache/qpidity/jms/MessageConsumerImpl.java
@@ -393,7 +393,7 @@ public class MessageConsumerImpl extends MessageActor implements MessageConsumer
}
catch (InterruptedException e)
{
- // do nothing
+ throw new RuntimeException(e);
}
}
if (_incomingMessage != null)
diff --git a/java/client/src/main/java/org/apache/qpidity/jms/message/BytesMessageImpl.java b/java/client/src/main/java/org/apache/qpidity/jms/message/BytesMessageImpl.java
index ce6b14fac6..ca81db88b3 100644
--- a/java/client/src/main/java/org/apache/qpidity/jms/message/BytesMessageImpl.java
+++ b/java/client/src/main/java/org/apache/qpidity/jms/message/BytesMessageImpl.java
@@ -837,7 +837,8 @@ public class BytesMessageImpl extends MessageImpl implements BytesMessage
try
{
_dataIn = new DataInputStream(
- new ByteArrayInputStream(messageData.array(), messageData.arrayOffset(), messageData.limit()));
+ new ByteArrayInputStream(messageData.array(), messageData.arrayOffset() + messageData.position()
+ , messageData.remaining()));
}
catch (Exception e)
{
diff --git a/java/client/src/main/java/org/apache/qpidity/jms/message/MapMessageImpl.java b/java/client/src/main/java/org/apache/qpidity/jms/message/MapMessageImpl.java
index 7e7429f8ab..fceb1a300a 100644
--- a/java/client/src/main/java/org/apache/qpidity/jms/message/MapMessageImpl.java
+++ b/java/client/src/main/java/org/apache/qpidity/jms/message/MapMessageImpl.java
@@ -594,7 +594,9 @@ public class MapMessageImpl extends MessageImpl implements MapMessage
{
try
{
- ByteArrayInputStream bais = new ByteArrayInputStream(messageData.array());
+ ByteArrayInputStream bais = new ByteArrayInputStream(messageData.array(),
+ messageData.arrayOffset() + messageData.position(),
+ messageData.remaining());
ObjectInputStream ois = new ObjectInputStream(bais);
_map = (Map<String, Object>) ois.readObject();
}
diff --git a/java/client/src/main/java/org/apache/qpidity/jms/message/ObjectMessageImpl.java b/java/client/src/main/java/org/apache/qpidity/jms/message/ObjectMessageImpl.java
index a981fc2846..45b7ac8c96 100644
--- a/java/client/src/main/java/org/apache/qpidity/jms/message/ObjectMessageImpl.java
+++ b/java/client/src/main/java/org/apache/qpidity/jms/message/ObjectMessageImpl.java
@@ -153,23 +153,29 @@ public class ObjectMessageImpl extends MessageImpl implements ObjectMessage
public void afterMessageReceive() throws QpidException
{
super.afterMessageReceive();
- try
- {
- ByteArrayInputStream bais = new ByteArrayInputStream(getMessageData().array());
- ObjectInputStream ois = new ObjectInputStream(bais);
- _object = (Serializable) ois.readObject();
- }
- catch (IOException ioe)
+ ByteBuffer messageData = getMessageData();
+ if (messageData != null)
{
- throw new QpidException(
- "Unexpected error during rebuild of message in afterReceive() - " + "The Object stored in the message was not a Serializable object.",
- null, ioe);
- }
- catch (ClassNotFoundException clnfe)
- {
- throw new QpidException(
- "Unexpected error during rebuild of message in afterReceive() - " + "Could not find the required class in classpath.",
- null, clnfe);
+ try
+ {
+ ByteArrayInputStream bais = new ByteArrayInputStream(messageData.array(),
+ messageData.arrayOffset() + messageData.position(),
+ messageData.remaining());
+ ObjectInputStream ois = new ObjectInputStream(bais);
+ _object = (Serializable) ois.readObject();
+ }
+ catch (IOException ioe)
+ {
+ throw new QpidException(
+ "Unexpected error during rebuild of message in afterReceive() - " + "The Object stored in the message was not a Serializable object.",
+ null, ioe);
+ }
+ catch (ClassNotFoundException clnfe)
+ {
+ throw new QpidException(
+ "Unexpected error during rebuild of message in afterReceive() - " + "Could not find the required class in classpath.",
+ null, clnfe);
+ }
}
}
}
diff --git a/java/client/src/main/java/org/apache/qpidity/jms/message/TextMessageImpl.java b/java/client/src/main/java/org/apache/qpidity/jms/message/TextMessageImpl.java
index c1afc06502..647d1fe5b5 100644
--- a/java/client/src/main/java/org/apache/qpidity/jms/message/TextMessageImpl.java
+++ b/java/client/src/main/java/org/apache/qpidity/jms/message/TextMessageImpl.java
@@ -114,12 +114,13 @@ public class TextMessageImpl extends MessageImpl implements TextMessage
public void afterMessageReceive() throws QpidException
{
super.afterMessageReceive();
- ByteBuffer data = getMessageData();
- if (data != null)
+ ByteBuffer messageData = getMessageData();
+ if (messageData != null)
{
try
{
- _messageText = new String(data.array(), CHARACTER_ENCODING);
+ _messageText = new String(messageData.array(), messageData.arrayOffset() + messageData.position(),
+ messageData.remaining(), CHARACTER_ENCODING);
}
catch (UnsupportedEncodingException e)
{