summaryrefslogtreecommitdiff
path: root/qpid/java/client/src
diff options
context:
space:
mode:
authorArnaud Simon <arnaudsimon@apache.org>2007-10-19 15:02:40 +0000
committerArnaud Simon <arnaudsimon@apache.org>2007-10-19 15:02:40 +0000
commitcb6dd3222d79b66fd45ad8ba92f7450a473279de (patch)
tree76ad94d92640f184a09f7c0989eb62b76373197f /qpid/java/client/src
parentf3709b7799604fd583630b18b60824fff3c121df (diff)
downloadqpid-python-cb6dd3222d79b66fd45ad8ba92f7450a473279de.tar.gz
Changed to handle exception correctly in onMessage
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@586491 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/client/src')
-rw-r--r--qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer_0_10.java10
1 files changed, 8 insertions, 2 deletions
diff --git a/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer_0_10.java b/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer_0_10.java
index eb414abea5..024558eaaf 100644
--- a/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer_0_10.java
+++ b/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer_0_10.java
@@ -127,8 +127,14 @@ public class BasicMessageConsumer_0_10 extends BasicMessageConsumer<Struct[], By
getSession().getAMQConnection().getExceptionListener()
.onException(new JMSAMQException("Error when receiving message", e));
}
- catch (JMSException e1)
+ catch (Exception e1)
{
+ // the receiver may be waiting for a message
+ if( _messageCounter.get() >= 0)
+ {
+ _messageCounter.decrementAndGet();
+ _synchronousQueue.add(new NullTocken());
+ }
// we should silently log thie exception as it only hanppens when the connection is closed
_logger.error("Exception when receiving message", e1);
}
@@ -261,7 +267,7 @@ public class BasicMessageConsumer_0_10 extends BasicMessageConsumer<Struct[], By
// TODO Use a tag for fiding out if message filtering is done here or by the broker.
try
{
- if (getMessageSelector() != null)
+ if (getMessageSelector() != null && ! getMessageSelector().equals(""))
{
messageOk = _filter.matches(message);
}