Author: arnaudsimon
Date: Fri Oct 19 08:02:40 2007
New Revision: 586491

URL: http://svn.apache.org/viewvc?rev=586491&view=rev
Log:
Changed to handle exception correctly in onMessage

Modified:
    
incubator/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer_0_10.java

Modified: 
incubator/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer_0_10.java
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer_0_10.java?rev=586491&r1=586490&r2=586491&view=diff
==============================================================================
--- 
incubator/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer_0_10.java
 (original)
+++ 
incubator/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer_0_10.java
 Fri Oct 19 08:02:40 2007
@@ -127,8 +127,14 @@
                 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 @@
         // 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);
             }


Reply via email to