Author: dejanb
Date: Fri Aug 14 12:29:58 2009
New Revision: 804192
URL: http://svn.apache.org/viewvc?rev=804192&view=rev
Log:
https://issues.apache.org/activemq/browse/AMQ-1807 - aborting transaction test
revisited + solution
Modified:
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/transport/stomp/StompConnection.java
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/transport/stomp/StompTest.java
Modified:
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/transport/stomp/StompConnection.java
URL:
http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/transport/stomp/StompConnection.java?rev=804192&r1=804191&r2=804192&view=diff
==============================================================================
---
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/transport/stomp/StompConnection.java
(original)
+++
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/transport/stomp/StompConnection.java
Fri Aug 14 12:29:58 2009
@@ -188,6 +188,15 @@
}
public void abort(String transaction) throws Exception {
+ // discard all content on the wire before
+ // aborting the transaction
+ try {
+ StompFrame discarded = this.receive(100);
+ while (discarded != null) {
+ discarded = this.receive(100);
+ }
+ } catch (Exception e) {
+ }
HashMap<String, String> headers = new HashMap<String, String>();
headers.put("transaction", transaction);
StompFrame frame = new StompFrame("ABORT", headers);
Modified:
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/transport/stomp/StompTest.java
URL:
http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/test/java/org/apache/activemq/transport/stomp/StompTest.java?rev=804192&r1=804191&r2=804192&view=diff
==============================================================================
---
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/transport/stomp/StompTest.java
(original)
+++
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/transport/stomp/StompTest.java
Fri Aug 14 12:29:58 2009
@@ -972,6 +972,7 @@
} catch (SocketTimeoutException soe) {}
stompConnection.ack(frame1, "tx1");
+ Thread.sleep(1000);
stompConnection.abort("tx1");
stompConnection.begin("tx2");