You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by rg...@apache.org on 2014/02/07 16:21:21 UTC

svn commit: r1565686 - in /qpid/branches/java-broker-amqp-1-0-management/java: broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/ systests/src/main/java/org/apache/qpid/test/unit/client/ systests/src/main/java/...

Author: rgodfrey
Date: Fri Feb  7 15:21:20 2014
New Revision: 1565686

URL: http://svn.apache.org/r1565686
Log:
Update broker behaviour in the face of rejects with queues having no max redelivery set

Modified:
    qpid/branches/java-broker-amqp-1-0-management/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/BasicRejectMethodHandler.java
    qpid/branches/java-broker-amqp-1-0-management/java/systests/src/main/java/org/apache/qpid/test/unit/client/MaxDeliveryCountTest.java
    qpid/branches/java-broker-amqp-1-0-management/java/systests/src/main/java/org/apache/qpid/test/unit/transacted/CommitRollbackTest.java

Modified: qpid/branches/java-broker-amqp-1-0-management/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/BasicRejectMethodHandler.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-amqp-1-0-management/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/BasicRejectMethodHandler.java?rev=1565686&r1=1565685&r2=1565686&view=diff
==============================================================================
--- qpid/branches/java-broker-amqp-1-0-management/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/BasicRejectMethodHandler.java (original)
+++ qpid/branches/java-broker-amqp-1-0-management/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/BasicRejectMethodHandler.java Fri Feb  7 15:21:20 2014
@@ -124,7 +124,7 @@ public class BasicRejectMethodHandler im
                 }
                 else
                 {
-                    channel.deadLetter(body.getDeliveryTag());
+                    channel.requeue(deliveryTag);
                 }
             }
         }

Modified: qpid/branches/java-broker-amqp-1-0-management/java/systests/src/main/java/org/apache/qpid/test/unit/client/MaxDeliveryCountTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-amqp-1-0-management/java/systests/src/main/java/org/apache/qpid/test/unit/client/MaxDeliveryCountTest.java?rev=1565686&r1=1565685&r2=1565686&view=diff
==============================================================================
--- qpid/branches/java-broker-amqp-1-0-management/java/systests/src/main/java/org/apache/qpid/test/unit/client/MaxDeliveryCountTest.java (original)
+++ qpid/branches/java-broker-amqp-1-0-management/java/systests/src/main/java/org/apache/qpid/test/unit/client/MaxDeliveryCountTest.java Fri Feb  7 15:21:20 2014
@@ -26,6 +26,7 @@ import org.apache.qpid.AMQException;
 import org.apache.qpid.client.AMQDestination;
 import org.apache.qpid.client.AMQQueue;
 import org.apache.qpid.client.AMQSession;
+import org.apache.qpid.client.RejectBehaviour;
 import org.apache.qpid.configuration.ClientProperties;
 import org.apache.qpid.server.queue.AMQQueueFactory;
 import org.apache.qpid.test.utils.QpidBrokerTestCase;
@@ -86,7 +87,7 @@ public class MaxDeliveryCountTest extend
         // dead-lettered or requeued.
         if (!isBroker010())
         {
-            setTestClientSystemProperty(ClientProperties.REJECT_BEHAVIOUR_PROP_NAME, "server");
+            setTestClientSystemProperty(ClientProperties.REJECT_BEHAVIOUR_PROP_NAME, RejectBehaviour.SERVER.toString());
         }
         super.setUp();
 

Modified: qpid/branches/java-broker-amqp-1-0-management/java/systests/src/main/java/org/apache/qpid/test/unit/transacted/CommitRollbackTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-amqp-1-0-management/java/systests/src/main/java/org/apache/qpid/test/unit/transacted/CommitRollbackTest.java?rev=1565686&r1=1565685&r2=1565686&view=diff
==============================================================================
--- qpid/branches/java-broker-amqp-1-0-management/java/systests/src/main/java/org/apache/qpid/test/unit/transacted/CommitRollbackTest.java (original)
+++ qpid/branches/java-broker-amqp-1-0-management/java/systests/src/main/java/org/apache/qpid/test/unit/transacted/CommitRollbackTest.java Fri Feb  7 15:21:20 2014
@@ -20,6 +20,7 @@
  */
 package org.apache.qpid.test.unit.transacted;
 
+import org.apache.qpid.client.RejectBehaviour;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -638,4 +639,44 @@ public class CommitRollbackTest extends 
             }
         }
     }
+
+
+    public void testResendUnseenMessagesAfterRollback() throws Exception
+    {
+        resendAfterRollback();
+    }
+
+    public void testResendUnseenMessagesAfterRollbackWithServerReject() throws Exception
+    {
+        setTestSystemProperty(ClientProperties.REJECT_BEHAVIOUR_PROP_NAME, RejectBehaviour.SERVER.toString());
+        resendAfterRollback();
+    }
+
+    private void resendAfterRollback() throws Exception
+    {
+        newConnection();
+
+        assertTrue("session is not transacted", _session.getTransacted());
+        assertTrue("session is not transacted", _pubSession.getTransacted());
+
+        _logger.info("sending test message");
+        String MESSAGE_TEXT = "message text";
+
+        _publisher.send(_pubSession.createTextMessage(MESSAGE_TEXT));
+        _publisher.send(_pubSession.createTextMessage(MESSAGE_TEXT));
+
+        _pubSession.commit();
+
+        assertNotNull("two messages were sent, but none has been received", _consumer.receive(1000));
+
+        _session.rollback();
+
+        _logger.info("receiving result");
+
+        assertNotNull("two messages were sent, but none has been received", _consumer.receive(1000));
+        assertNotNull("two messages were sent, but only one has been received", _consumer.receive(1000));
+        assertNull("Only two messages were sent, but more have been received", _consumer.receive(100));
+
+        _session.commit();
+    }
 }



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