Author: ritchiem
Date: Tue Nov 27 17:01:05 2007
New Revision: 598835
URL: http://svn.apache.org/viewvc?rev=598835&view=rev
Log:
CommitRollbackTest - this one just was never right.. now we have something
better.
Modified:
incubator/qpid/branches/M2.1.1/java/client/src/test/java/org/apache/qpid/test/unit/transacted/CommitRollbackTest.java
Modified:
incubator/qpid/branches/M2.1.1/java/client/src/test/java/org/apache/qpid/test/unit/transacted/CommitRollbackTest.java
URL:
http://svn.apache.org/viewvc/incubator/qpid/branches/M2.1.1/java/client/src/test/java/org/apache/qpid/test/unit/transacted/CommitRollbackTest.java?rev=598835&r1=598834&r2=598835&view=diff
==============================================================================
---
incubator/qpid/branches/M2.1.1/java/client/src/test/java/org/apache/qpid/test/unit/transacted/CommitRollbackTest.java
(original)
+++
incubator/qpid/branches/M2.1.1/java/client/src/test/java/org/apache/qpid/test/unit/transacted/CommitRollbackTest.java
Tue Nov 27 17:01:05 2007
@@ -418,14 +418,14 @@
{
_logger.info("Got 2 redelivered, message was prefetched");
_gottwoRedelivered = true;
-
+
}
else
{
- _logger.warn("Got 2, message prefetched wasn't cleared or
messages was in transit when rollback occured");
+ _logger.warn("Got 2, message prefetched wasn't cleared or
messages was in transit when rollback occured");
assertFalse("Already received message two", _gottwo);
assertFalse("Already received message redelivered two",
_gottwoRedelivered);
-
+
_gottwo = true;
}
}
@@ -437,7 +437,7 @@
* This test sends two messages receives on of them but doesn't ack it.
* The consumer is then closed
* the first message should be returned as redelivered.
- * the second message should be delivered normally.
+ * the second message should be delivered normally.
* @throws Exception
*/
public void testSend2ThenCloseAfter1andTryAgain() throws Exception
@@ -458,7 +458,7 @@
assertTrue("Messasge is marked as redelivered" + result,
!result.getJMSRedelivered());
_logger.info("Closing Consumer");
- _session.rollback();
+
_consumer.close();
_logger.info("Creating New consumer");
@@ -466,32 +466,19 @@
_logger.info("receiving result");
-// NOTE: Both msg 1 & 2 will be marked as redelivered as they have both will
have been rejected.
-// Only the occasion where it is not rejected will it mean it hasn't arrived
at the client yet.
- result = _consumer.receive(5000);
- assertNotNull("test message was consumed and rolled back, but is
gone", result);
-// The first message back will be either 1 or 2 being redelivered
- if (result.getJMSRedelivered())
- {
- assertTrue("Messasge is not marked as redelivered" + result,
result.getJMSRedelivered());
- }
- else // or it will be msg 2 arriving the first time due to latency.
- {
- _logger.info("Message 2 wasn't prefetched so wasn't rejected");
- assertEquals("2", ((TextMessage) result).getText());
- }
+ // Message 2 may be marked as redelivered if it was prefetched.
+ result = _consumer.receive(5000);
+ assertNotNull("Second message was not consumed, but is gone", result);
- Message result2 = _consumer.receive(5000);
- assertNotNull("test message was consumed and rolled back, but is
gone", result2);
+ // The first message back will be 2, message 1 has been received but
not committed
+ // Closing the consumer does not commit the session.
// if this is message 1 then it should be marked as redelivered
- if("1".equals(((TextMessage) result2).getText()))
+ if("1".equals(((TextMessage) result).getText()))
{
- assertTrue("Messasge is not marked as redelivered" + result2,
result2.getJMSRedelivered());
+ fail("First message was recieved again");
}
-
- assertNotSame("Messages should not have the same
content",((TextMessage) result2).getText(), ((TextMessage) result).getText() );
result = _consumer.receive(1000);
assertNull("test message should be null:" + result, result);