Author: ritchiem
Date: Tue Jan 16 03:13:38 2007
New Revision: 496661

URL: http://svn.apache.org/viewvc?view=rev&rev=496661
Log:
QPID-300
Updated BlockingMethodFrameListener so it passed FailoverExceptions without 
wrapping in AMQExceptions.

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

Modified: 
incubator/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/protocol/BlockingMethodFrameListener.java
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/protocol/BlockingMethodFrameListener.java?view=diff&rev=496661&r1=496660&r2=496661
==============================================================================
--- 
incubator/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/protocol/BlockingMethodFrameListener.java
 (original)
+++ 
incubator/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/protocol/BlockingMethodFrameListener.java
 Tue Jan 16 03:13:38 2007
@@ -25,6 +25,7 @@
 import org.apache.qpid.protocol.AMQMethodEvent;
 import org.apache.qpid.protocol.AMQMethodListener;
 import org.apache.qpid.client.protocol.AMQProtocolSession;
+import org.apache.qpid.client.failover.FailoverException;
 
 public abstract class BlockingMethodFrameListener implements AMQMethodListener
 {
@@ -52,6 +53,7 @@
     /**
      * This method is called by the MINA dispatching thread. Note that it could
      * be called before blockForFrame() has been called.
+     *
      * @param evt the frame event
      * @return true if the listener has dealt with this frame
      * @throws AMQException
@@ -109,11 +111,15 @@
         {
             if (_error instanceof AMQException)
             {
-                throw (AMQException)_error;
+                throw(AMQException) _error;
+            }
+            else if (_error instanceof FailoverException)
+            {
+                throw (FailoverException)_error;  // needed to expose 
FailoverException.
             }
             else
             {
-                throw new AMQException("Woken up due to " + _error.getClass(), 
_error); // FIXME: This will wrap FailoverException and prevent it being caught.
+                throw new AMQException("Woken up due to " + _error.getClass(), 
_error);
             }
         }
 
@@ -123,6 +129,7 @@
     /**
      * This is a callback, called by the MINA dispatcher thread only. It is 
also called from within this
      * class to avoid code repetition but again is only called by the MINA 
dispatcher thread.
+     *
      * @param e
      */
     public void error(Exception e)


Reply via email to