Author: gtully
Date: Thu Mar 4 11:49:14 2010
New Revision: 918951
URL: http://svn.apache.org/viewvc?rev=918951&view=rev
Log:
merge -c 906697 https://svn.apache.org/repos/asf/activemq/trunk - allow for
transaction rolledback exception:
https://issues.apache.org/activemq/browse/AMQ-2590
Modified:
activemq/branches/activemq-5.3/activemq-core/src/test/java/org/apache/activemq/bugs/AMQ2149Test.java
Modified:
activemq/branches/activemq-5.3/activemq-core/src/test/java/org/apache/activemq/bugs/AMQ2149Test.java
URL:
http://svn.apache.org/viewvc/activemq/branches/activemq-5.3/activemq-core/src/test/java/org/apache/activemq/bugs/AMQ2149Test.java?rev=918951&r1=918950&r2=918951&view=diff
==============================================================================
---
activemq/branches/activemq-5.3/activemq-core/src/test/java/org/apache/activemq/bugs/AMQ2149Test.java
(original)
+++
activemq/branches/activemq-5.3/activemq-core/src/test/java/org/apache/activemq/bugs/AMQ2149Test.java
Thu Mar 4 11:49:14 2010
@@ -31,6 +31,7 @@
import javax.jms.MessageProducer;
import javax.jms.Session;
import javax.jms.Topic;
+import javax.jms.TransactionRolledBackException;
import junit.framework.TestCase;
@@ -172,10 +173,11 @@
return nextExpectedSeqNum;
}
+ final int TRANSACITON_BATCH = 500;
public void onMessage(Message message) {
try {
final long seqNum = message.getLongProperty(SEQ_NUM_PROPERTY);
- if ((seqNum % 500) == 0) {
+ if ((seqNum % TRANSACITON_BATCH) == 0) {
LOG.info(dest + " received " + seqNum);
if (transactional) {
@@ -195,6 +197,10 @@
}
++nextExpectedSeqNum;
lastId = message.getJMSMessageID();
+ } catch (TransactionRolledBackException
expectedSometimesOnFailoverRecovery) {
+ LOG.info("got rollback: " +
expectedSometimesOnFailoverRecovery);
+ // batch will be replayed
+ nextExpectedSeqNum -= (TRANSACITON_BATCH -1);
} catch (Throwable e) {
LOG.error(dest + " onMessage error", e);
exceptions.add(e);