You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ra...@apache.org on 2013/01/17 00:33:01 UTC

svn commit: r1434492 - in /qpid/trunk/qpid/java: client/src/main/java/org/apache/qpid/client/ systests/src/main/java/org/apache/qpid/test/client/destination/

Author: rajith
Date: Wed Jan 16 23:33:01 2013
New Revision: 1434492

URL: http://svn.apache.org/viewvc?rev=1434492&view=rev
Log:
QPID-4540 The deletion of the subscription queue is now handled
separately. Enchnaced an existing test case to ensure this is handled
properly.

Modified:
    qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_10.java
    qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer_0_10.java
    qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/client/destination/AddressBasedDestinationTest.java

Modified: qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_10.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_10.java?rev=1434492&r1=1434491&r2=1434492&view=diff
==============================================================================
--- qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_10.java (original)
+++ qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_10.java Wed Jan 16 23:33:01 2013
@@ -1575,6 +1575,10 @@ public class AMQSession_0_10 extends AMQ
             getQpidSession().exchangeUnbind(queue, exchange,
                                             binding.getBindingKey());
         }
+    }
+
+    void deleteSubscriptionQueue(AMQDestination dest) throws AMQException
+    {
         // We need to delete the subscription queue.
         if (dest.getAddressType() == AMQDestination.TOPIC_TYPE &&
             dest.getLink().getSubscriptionQueue().isExclusive() &&

Modified: qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer_0_10.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer_0_10.java?rev=1434492&r1=1434491&r2=1434492&view=diff
==============================================================================
--- qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer_0_10.java (original)
+++ qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer_0_10.java Wed Jan 16 23:33:01 2013
@@ -510,6 +510,7 @@ public class BasicMessageConsumer_0_10 e
                 dest.getDelete() == AddressOption.RECEIVER )
             {
                 ((AMQSession_0_10) getSession()).handleNodeDelete(dest);
+                ((AMQSession_0_10) getSession()).deleteSubscriptionQueue(dest);
             }
             // Subscription queue is handled as part of linkDelete method.
             ((AMQSession_0_10) getSession()).handleLinkDelete(dest);

Modified: qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/client/destination/AddressBasedDestinationTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/client/destination/AddressBasedDestinationTest.java?rev=1434492&r1=1434491&r2=1434492&view=diff
==============================================================================
--- qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/client/destination/AddressBasedDestinationTest.java (original)
+++ qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/client/destination/AddressBasedDestinationTest.java Wed Jan 16 23:33:01 2013
@@ -1407,10 +1407,16 @@ public class AddressBasedDestinationTest
                                           "}";
 
         String addr = "ADDR:amq.topic/test; {link: {name:my-queue, durable:true," + xDeclareArgs + "}}";
-        MessageConsumer cons = ssn.createConsumer(ssn.createTopic(addr));
+        Destination dest = ssn.createTopic(addr);
+        MessageConsumer cons = ssn.createConsumer(dest);
 
         String verifyAddr = "ADDR:my-queue;{ node: {durable:true, " + xDeclareArgs + "}}";
         AMQDestination verifyDest = (AMQDestination)ssn.createQueue(verifyAddr);
         ((AMQSession_0_10)ssn).isQueueExist(verifyDest, true);
+
+        // Verify that the producer does not delete the subscription queue.
+        MessageProducer prod = ssn.createProducer(dest);
+        prod.close();
+        ((AMQSession_0_10)ssn).isQueueExist(verifyDest, true);
     }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org