summaryrefslogtreecommitdiff
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
commit0d1241b9ff64467c23a5146e9614202026536adc (patch)
tree939244ea7d4e52d434ae3991968963d84c3febc7
parent5ba7bf8e827c0279cb6bedc4ff022bf22085e8f8 (diff)
downloadqpid-python-0d1241b9ff64467c23a5146e9614202026536adc.tar.gz
Changed to handle exception correctly in onMessage
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@586491 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer_0_10.java10
1 files changed, 8 insertions, 2 deletions
diff --git a/java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer_0_10.java b/java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer_0_10.java
index eb414abea5..024558eaaf 100644
--- a/java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer_0_10.java
+++ b/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);
}