Author: rupertlssmith
Date: Wed Oct  3 04:23:08 2007
New Revision: 581566

URL: http://svn.apache.org/viewvc?rev=581566&view=rev
Log:
Added reliability tests for all ack modes.

Modified:
    incubator/qpid/branches/M2.1/java/perftests/pom.xml
    
incubator/qpid/branches/M2.1/java/perftests/src/main/java/org/apache/qpid/requestreply/PingPongProducer.java

Modified: incubator/qpid/branches/M2.1/java/perftests/pom.xml
URL: 
http://svn.apache.org/viewvc/incubator/qpid/branches/M2.1/java/perftests/pom.xml?rev=581566&r1=581565&r2=581566&view=diff
==============================================================================
--- incubator/qpid/branches/M2.1/java/perftests/pom.xml (original)
+++ incubator/qpid/branches/M2.1/java/perftests/pom.xml Wed Oct  3 04:23:08 2007
@@ -192,17 +192,57 @@
                         <Ping-Failover-Before-Commit>-n 
Ping-Failover-Before-Commit -s[100] -o . -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf commitBatchSize=10 
failBeforeCommit=true</Ping-Failover-Before-Commit>
                         <Ping-Failover-After-Commit>-n 
Ping-Failover-After-Commit -s[100] -o . -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf commitBatchSize=10 
failAfterCommit=true</Ping-Failover-After-Commit>
                         
+                        <!--  
+                             ***** If editing below, please use a non line 
wrapping mode and keep in columns, makes it easier to check for consistent
+                             ***** parameter setting accross all of the tests.
+                        -->
+
                         <!-- 
-                             Qpid Performance Tests. If editing, please use a 
non line wrapping mode and keep in columns, makes it easier to check
-                             for consistent parameter setting accross all of 
the tests.
+                             Reliability tests. The longer these tests can be 
run, the better.
+                             Tests 01 and 02 run for a short time. Use these 
to get an idea of the expected throughput.
+                             Tests 03 to 08 test all ack modes, 
transient/persistent, p2p/pubsub. There are 24 tests in total running for 1 
hour each.
+                             This can be shortened or lengthened for the 
desired burn-in test time.
                         -->
+                        <TQR-Qpid-01>-n TQR-Qpid-01           -d1M  -s[1000]   
-c[16]              -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=false pubsub=false 
transacted=true  consTransacted=true  consAckMode=0   commitBatchSize=10  
batchSize=1000   messageSize=256     destinationCount=1  rate=0     
maxPending=500000  </TQR-Qpid-01>
+                        <TQR-Qpid-02>-n TQR-Qpid-02           -d1M  -s[1000]   
-c[16]              -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=false pubsub=false 
transacted=false consTransacted=false consAckMode=1   commitBatchSize=10  
batchSize=1000   messageSize=256     destinationCount=1  rate=0     
maxPending=500000  </TQR-Qpid-02>
+                        <TTR-Qpid-01>-n TTR-Qpid-01           -d1M  -s[1000]   
-c[16]              -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=false pubsub=true  
transacted=true  consTransacted=true  consAckMode=0   commitBatchSize=10  
batchSize=1000   messageSize=256     destinationCount=1  rate=0     
maxPending=500000  </TTR-Qpid-01>
+                        <TTR-Qpid-02>-n TTR-Qpid-02           -d1M  -s[1000]   
-c[16]              -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=false pubsub=true  
transacted=false consTransacted=false consAckMode=1   commitBatchSize=10  
batchSize=1000   messageSize=256     destinationCount=1  rate=0     
maxPending=500000  </TTR-Qpid-02>
+                        <PQR-Qpid-01>-n PQR-Qpid-01           -d1M  -s[1000]   
-c[16]              -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=true  pubsub=false 
transacted=true  consTransacted=true  consAckMode=0   commitBatchSize=10  
batchSize=1000   messageSize=256     destinationCount=1  rate=0     
maxPending=500000  </PQR-Qpid-01>
+                        <PQR-Qpid-02>-n PQR-Qpid-02           -d1M  -s[1000]   
-c[16]              -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=true  pubsub=false 
transacted=false consTransacted=false consAckMode=1   commitBatchSize=10  
batchSize=1000   messageSize=256     destinationCount=1  rate=0     
maxPending=500000  </PQR-Qpid-02>
+                        <PTR-Qpid-01>-n PTR-Qpid-01           -d1M  -s[1000]   
-c[16]              -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=true  pubsub=true  
transacted=true  consTransacted=true  consAckMode=0   commitBatchSize=10  
batchSize=1000   messageSize=256     destinationCount=1  rate=0     
maxPending=500000  </PTR-Qpid-01>
+                        <PTR-Qpid-02>-n PTR-Qpid-02           -d1M  -s[1000]   
-c[16]              -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=true  pubsub=true  
transacted=false consTransacted=false consAckMode=1   commitBatchSize=10  
batchSize=1000   messageSize=256     destinationCount=1  rate=0     
maxPending=500000  </PTR-Qpid-02>
+
+                        <TQR-Qpid-03-TX>-n TQR-Qpid-03        -d1H  -s[100000] 
-c[16]              -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=false pubsub=false 
transacted=true  consTransacted=true  consAckMode=0   commitBatchSize=10  
batchSize=100000 messageSize=256     destinationCount=1  rate=0     
maxPending=500000  </TQR-Qpid-03-TX>
+                        <TQR-Qpid-04-AUTOACK>-n TQR-Qpid-04   -d1H  -s[100000] 
-c[16]              -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=false pubsub=false 
transacted=false consTransacted=false consAckMode=1   commitBatchSize=10  
batchSize=100000 messageSize=256     destinationCount=1  rate=0     
maxPending=500000  </TQR-Qpid-04-AUTOACK>
+                        <TQR-Qpid-05-CLIENTACK>-n TQR-Qpid-05 -d1H  -s[100000] 
-c[16]              -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=false pubsub=false 
transacted=false consTransacted=false consAckMode=2   commitBatchSize=10  
batchSize=100000 messageSize=256     destinationCount=1  rate=0     
maxPending=500000  </TQR-Qpid-05-CLIENTACK>
+                        <TQR-Qpid-06-DUPSOKACK>-n TQR-Qpid-06 -d1H  -s[100000] 
-c[16]              -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=false pubsub=false 
transacted=false consTransacted=false consAckMode=3   commitBatchSize=10  
batchSize=100000 messageSize=256     destinationCount=1  rate=0     
maxPending=500000  </TQR-Qpid-06-DUPSOKACK>
+                        <TQR-Qpid-07-NOACK>-n TQR-Qpid-07     -d1H  -s[100000] 
-c[16]              -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=false pubsub=false 
transacted=false consTransacted=false consAckMode=257 commitBatchSize=10  
batchSize=100000 messageSize=256     destinationCount=1  rate=0     
maxPending=500000  </TQR-Qpid-07-NOACK>
+                        <TQR-Qpid-08-PREACK>-n TQR-Qpid-08    -d1H  -s[100000] 
-c[16]              -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=false pubsub=false 
transacted=false consTransacted=false consAckMode=258 commitBatchSize=10  
batchSize=100000 messageSize=256     destinationCount=1  rate=0     
maxPending=500000  </TQR-Qpid-08-PREACK>
+
+                        <TTR-Qpid-03-TX>-n TTR-Qpid-03        -d1H  -s[100000] 
-c[16]              -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=false pubsub=true  
transacted=true  consTransacted=true  consAckMode=0   commitBatchSize=10  
batchSize=100000 messageSize=256     destinationCount=1  rate=0     
maxPending=500000  </TTR-Qpid-03-TX>
+                        <TTR-Qpid-04-AUTOACK>-n TTR-Qpid-04   -d1H  -s[100000] 
-c[16]              -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=false pubsub=true  
transacted=false consTransacted=false consAckMode=1   commitBatchSize=10  
batchSize=100000 messageSize=256     destinationCount=1  rate=0     
maxPending=500000  </TTR-Qpid-04-AUTOACK>
+                        <TTR-Qpid-05-CLIENTACK>-n TTR-Qpid-05 -d1H  -s[100000] 
-c[16]              -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=false pubsub=true  
transacted=false consTransacted=false consAckMode=2   commitBatchSize=10  
batchSize=100000 messageSize=256     destinationCount=1  rate=0     
maxPending=500000  </TTR-Qpid-05-CLIENTACK>
+                        <TTR-Qpid-06-DUPSOKACK>-n TTR-Qpid-06 -d1H  -s[100000] 
-c[16]              -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=false pubsub=true  
transacted=false consTransacted=false consAckMode=3   commitBatchSize=10  
batchSize=100000 messageSize=256     destinationCount=1  rate=0     
maxPending=500000  </TTR-Qpid-06-DUPSOKACK>
+                        <TTR-Qpid-07-NOACK>-n TTR-Qpid-07     -d1H  -s[100000] 
-c[16]              -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=false pubsub=true  
transacted=false consTransacted=false consAckMode=257 commitBatchSize=10  
batchSize=100000 messageSize=256     destinationCount=1  rate=0     
maxPending=500000  </TTR-Qpid-07-NOACK>
+                        <TTR-Qpid-08-PREACK>-n TTR-Qpid-08    -d1H  -s[100000] 
-c[16]              -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=false pubsub=true  
transacted=false consTransacted=false consAckMode=258 commitBatchSize=10  
batchSize=100000 messageSize=256     destinationCount=1  rate=0     
maxPending=500000  </TTR-Qpid-08-PREACK>
+
+                        <PQR-Qpid-03-TX>-n PQR-Qpid-03        -d1H  -s[100000] 
-c[16]              -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=true  pubsub=false 
transacted=true  consTransacted=true  consAckMode=0   commitBatchSize=10  
batchSize=100000 messageSize=256     destinationCount=1  rate=0     
maxPending=500000  </PQR-Qpid-03-TX>
+                        <PQR-Qpid-04-AUTOACK>-n PQR-Qpid-04   -d1H  -s[100000] 
-c[16]              -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=true  pubsub=false 
transacted=false consTransacted=false consAckMode=1   commitBatchSize=10  
batchSize=100000 messageSize=256     destinationCount=1  rate=0     
maxPending=500000  </PQR-Qpid-04-AUTOACK>
+                        <PQR-Qpid-05-CLIENTACK>-n PQR-Qpid-05 -d1H  -s[100000] 
-c[16]              -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=true  pubsub=false 
transacted=false consTransacted=false consAckMode=2   commitBatchSize=10  
batchSize=100000 messageSize=256     destinationCount=1  rate=0     
maxPending=500000  </PQR-Qpid-05-CLIENTACK>
+                        <PQR-Qpid-06-DUPSOKACK>-n PQR-Qpid-06 -d1H  -s[100000] 
-c[16]              -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=true  pubsub=false 
transacted=false consTransacted=false consAckMode=3   commitBatchSize=10  
batchSize=100000 messageSize=256     destinationCount=1  rate=0     
maxPending=500000  </PQR-Qpid-06-DUPSOKACK>
+                        <PQR-Qpid-07-NOACK>-n PQR-Qpid-07     -d1H  -s[100000] 
-c[16]              -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=true  pubsub=false 
transacted=false consTransacted=false consAckMode=257 commitBatchSize=10  
batchSize=100000 messageSize=256     destinationCount=1  rate=0     
maxPending=500000  </PQR-Qpid-07-NOACK>
+                        <PQR-Qpid-08-PREACK>-n PQR-Qpid-08    -d1H  -s[100000] 
-c[16]              -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=true  pubsub=false 
transacted=false consTransacted=false consAckMode=258 commitBatchSize=10  
batchSize=100000 messageSize=256     destinationCount=1  rate=0     
maxPending=500000  </PQR-Qpid-08-PREACK>
+
+                        <PTR-Qpid-03-TX>-n PTR-Qpid-03        -d1H  -s[100000] 
-c[16]              -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=true  pubsub=true  
transacted=true  consTransacted=true  consAckMode=0   commitBatchSize=10  
batchSize=100000 messageSize=256     destinationCount=1  rate=0     
maxPending=500000  </PTR-Qpid-03-TX>
+                        <PTR-Qpid-04-AUTOACK>-n PTR-Qpid-04   -d1H  -s[100000] 
-c[16]              -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=true  pubsub=true  
transacted=false consTransacted=false consAckMode=1   commitBatchSize=10  
batchSize=100000 messageSize=256     destinationCount=1  rate=0     
maxPending=500000  </PTR-Qpid-04-AUTOACK>
+                        <PTR-Qpid-05-CLIENTACK>-n PTR-Qpid-05 -d1H  -s[100000] 
-c[16]              -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=true  pubsub=true  
transacted=false consTransacted=false consAckMode=2   commitBatchSize=10  
batchSize=100000 messageSize=256     destinationCount=1  rate=0     
maxPending=500000  </PTR-Qpid-05-CLIENTACK>
+                        <PTR-Qpid-06-DUPSOKACK>-n PTR-Qpid-06 -d1H  -s[100000] 
-c[16]              -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=true  pubsub=true  
transacted=false consTransacted=false consAckMode=3   commitBatchSize=10  
batchSize=100000 messageSize=256     destinationCount=1  rate=0     
maxPending=500000  </PTR-Qpid-06-DUPSOKACK>
+                        <PTR-Qpid-07-NOACK>-n PTR-Qpid-07     -d1H  -s[100000] 
-c[16]              -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=true  pubsub=true  
transacted=false consTransacted=false consAckMode=257 commitBatchSize=10  
batchSize=100000 messageSize=256     destinationCount=1  rate=0     
maxPending=500000  </PTR-Qpid-07-NOACK>
+                        <PTR-Qpid-08-PREACK>-n PTR-Qpid-08    -d1H  -s[100000] 
-c[16]              -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=true  pubsub=true  
transacted=false consTransacted=false consAckMode=258 commitBatchSize=10  
batchSize=100000 messageSize=256     destinationCount=1  rate=0     
maxPending=500000  </PTR-Qpid-08-PREACK>
+                        
+                        <!-- Performance Tests. -->
 
                         <!-- Transient, P2P Tests -->
-                        <TQR-Qpid-01>-n TQR-Qpid-01           -d10M -s[1000]   
-c[16]              -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=false pubsub=false 
transacted=true  commitBatchSize=10  batchSize=1000   messageSize=256     
destinationCount=1  rate=0     maxPending=10000000</TQR-Qpid-01>
-                        <TQR-Qpid-02>-n TQR-Qpid-02           -d10M -s[1000]   
-c[16]              -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=false pubsub=false 
transacted=false commitBatchSize=10  batchSize=1000   messageSize=256     
destinationCount=1  rate=0     maxPending=10000000</TQR-Qpid-02>
-                        <TQR-Qpid-03>-n TQR-Qpid-03           -d24H -s[100000] 
-c[16]              -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=false pubsub=false 
transacted=true  commitBatchSize=10  batchSize=100000 messageSize=256     
destinationCount=1  rate=0     maxPending=10000000</TQR-Qpid-03>
-                        <TQR-Qpid-04>-n TQR-Qpid-04           -d24H -s[100000] 
-c[16]              -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=false pubsub=false 
transacted=false commitBatchSize=10  batchSize=100000 messageSize=256     
destinationCount=1  rate=0     maxPending=10000000</TQR-Qpid-04>
-
                         <TQC-Qpid-01>-n TQC-Qpid-01           -d1M  -s[1000]   
-c[1,30],samples=30 -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=false pubsub=false 
transacted=true  commitBatchSize=10  batchSize=1000   messageSize=256     
destinationCount=1  rate=2000  maxPending=1000000 </TQC-Qpid-01>
                         <TQC-Qpid-02>-n TQC-Qpid-02           -d1M  -s[1000]   
-c[1,30],samples=30 -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=false pubsub=false 
transacted=false commitBatchSize=10  batchSize=1000   messageSize=256     
destinationCount=1  rate=2000  maxPending=1000000 </TQC-Qpid-02>
                         <TQC-Qpid-03>-n TQC-Qpid-03           -d10M -s[1000]   
-c[10]              -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=false pubsub=false 
transacted=true  commitBatchSize=10  batchSize=1000   messageSize=256     
destinationCount=10 rate=0     maxPending=1000000 </TQC-Qpid-03>
@@ -231,11 +271,6 @@
                         <TQM-Qpid-02-1M>-n TQM-Qpid-02-1M     -d10M -s[1000]   
-c[8]               -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=false pubsub=false 
transacted=false commitBatchSize=10  batchSize=1000   messageSize=1048576 
destinationCount=1  rate=0     maxPending=80000000</TQM-Qpid-02-1M>
 
                         <!-- Transient, Pub/Sub Tests -->
-                        <TTR-Qpid-01>-n TTR-Qpid-01           -d10M -s[1000]   
-c[16]              -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=false pubsub=true  
transacted=true  commitBatchSize=10  batchSize=1000   messageSize=256     
destinationCount=1  rate=0     maxPending=1000000 </TTR-Qpid-01>
-                        <TTR-Qpid-02>-n TTR-Qpid-02           -d10M -s[1000]   
-c[16]              -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=false pubsub=true  
transacted=false commitBatchSize=10  batchSize=1000   messageSize=256     
destinationCount=1  rate=0     maxPending=1000000 </TTR-Qpid-02>
-                        <TTR-Qpid-03>-n TTR-Qpid-03           -d24H -s[100000] 
-c[16]              -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=false pubsub=true  
transacted=true  commitBatchSize=10  batchSize=100000 messageSize=256     
destinationCount=1  rate=0     maxPending=1000000 </TTR-Qpid-03>
-                        <TTR-Qpid-04>-n TTR-Qpid-04           -d24H -s[100000] 
-c[16]              -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=false pubsub=true  
transacted=false commitBatchSize=10  batchSize=100000 messageSize=256     
destinationCount=1  rate=0     maxPending=1000000 </TTR-Qpid-04>
-
                         <TTC-Qpid-01>-n TTC-Qpid-01           -d1M  -s[1000]   
-c[1,30],samples=30 -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=false pubsub=true  
transacted=true  commitBatchSize=10  batchSize=1000   messageSize=256     
destinationCount=1  rate=2000  maxPending=1000000 </TTC-Qpid-01>
                         <TTC-Qpid-02>-n TTC-Qpid-02           -d1M  -s[1000]   
-c[1,30],samples=30 -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=false pubsub=true  
transacted=false commitBatchSize=10  batchSize=1000   messageSize=256     
destinationCount=1  rate=2000  maxPending=1000000 </TTC-Qpid-02>
                         <TTC-Qpid-03>-n TTC-Qpid-03           -d10M -s[1000]   
-c[10]              -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=false pubsub=true  
transacted=true  commitBatchSize=10  batchSize=1000   messageSize=256     
destinationCount=10 rate=0     maxPending=1000000 </TTC-Qpid-03>
@@ -264,11 +299,6 @@
                         <TTM-Qpid-02-1M>-n TTM-Qpid-02-1M     -d10M -s[1000]   
-c[8]               -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=false pubsub=true  
transacted=false commitBatchSize=10  batchSize=1000   messageSize=1048476 
destinationCount=1  rate=0     maxPending=80000000</TTM-Qpid-02-1M>
 
                         <!-- Persistent, P2P Tests -->
-                        <PQR-Qpid-01>-n PQR-Qpid-01           -d10M -s[1000]   
-c[16]              -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=true  pubsub=false 
transacted=true  commitBatchSize=10  batchSize=1000   messageSize=256     
destinationCount=1  rate=0     maxPending=1000000 </PQR-Qpid-01>
-                        <PQR-Qpid-02>-n PQR-Qpid-02           -d10M -s[1000]   
-c[16]              -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=true  pubsub=false 
transacted=false commitBatchSize=10  batchSize=1000   messageSize=256     
destinationCount=1  rate=0     maxPending=1000000 </PQR-Qpid-02>
-                        <PQR-Qpid-03>-n PQR-Qpid-03           -d24H -s[100000] 
-c[16]              -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=true  pubsub=false 
transacted=true  commitBatchSize=10  batchSize=100000 messageSize=256     
destinationCount=1  rate=0     maxPending=1000000 </PQR-Qpid-03>
-                        <PQR-Qpid-04>-n PQR-Qpid-04           -d24H -s[100000] 
-c[16]              -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=true  pubsub=false 
transacted=false commitBatchSize=10  batchSize=100000 messageSize=256     
destinationCount=1  rate=0     maxPending=1000000 </PQR-Qpid-04>
-
                         <PQC-Qpid-01>-n PQC-Qpid-01           -d1M  -s[1000]   
-c[1,30],samples=30 -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=true  pubsub=false 
transacted=true  commitBatchSize=10  batchSize=1000   messageSize=256     
destinationCount=1  rate=600   maxPending=1000000 </PQC-Qpid-01>
                         <PQC-Qpid-02>-n PQC-Qpid-02           -d1M  -s[1000]   
-c[1,30],samples=30 -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=true  pubsub=false 
transacted=false commitBatchSize=10  batchSize=1000   messageSize=256     
destinationCount=1  rate=100   maxPending=1000000 </PQC-Qpid-02>
                         <PQC-Qpid-03>-n PQC-Qpid-03           -d10M -s[1000]   
-c[10]              -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=true  pubsub=false 
transacted=true  commitBatchSize=10  batchSize=1000   messageSize=256     
destinationCount=10 rate=0     maxPending=1000000 </PQC-Qpid-03>
@@ -297,11 +327,6 @@
                         <PQM-Qpid-02-1M>-n PQM-Qpid-02-1M     -d10M -s[1000]   
-c[8]               -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=true  pubsub=false 
transacted=false commitBatchSize=10  batchSize=1000   messageSize=1048576 
destinationCount=1  rate=0     maxPending=80000000</PQM-Qpid-02-1M>
 
                         <!-- Persistent, Pub/Sub Tests -->
-                        <PTR-Qpid-01>-n PTR-Qpid-01           -d10M -s[1000]   
-c[16]              -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=true  pubsub=true  
transacted=true  commitBatchSize=10  batchSize=1000   messageSize=256     
destinationCount=1  rate=0     maxPending=1000000 </PTR-Qpid-01>
-                        <PTR-Qpid-02>-n PTR-Qpid-02           -d10M -s[1000]   
-c[16]              -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=true  pubsub=true  
transacted=false commitBatchSize=10  batchSize=1000   messageSize=256     
destinationCount=1  rate=0     maxPending=1000000 </PTR-Qpid-02>
-                        <PTR-Qpid-03>-n PTR-Qpid-03           -d24H -s[100000] 
-c[16]              -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=true  pubsub=true  
transacted=true  commitBatchSize=10  batchSize=100000 messageSize=256     
destinationCount=1  rate=0     maxPending=1000000 </PTR-Qpid-03>
-                        <PTR-Qpid-04>-n PTR-Qpid-04           -d24H -s[100000] 
-c[16]              -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=true  pubsub=true  
transacted=false commitBatchSize=10  batchSize=100000 messageSize=256     
destinationCount=1  rate=0     maxPending=1000000 </PTR-Qpid-04>
-
                         <PTC-Qpid-01>-n PTC-Qpid-01           -d1M  -s[1000]   
-c[1,30],samples=30 -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=true  pubsub=true  
transacted=true  commitBatchSize=10  batchSize=1000   messageSize=256     
destinationCount=1  rate=600   maxPending=1000000 </PTC-Qpid-01>
                         <PTC-Qpid-02>-n PTC-Qpid-02           -d1M  -s[1000]   
-c[1,30],samples=30 -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=true  pubsub=true  
transacted=false commitBatchSize=10  batchSize=1000   messageSize=256     
destinationCount=1  rate=100   maxPending=1000000 </PTC-Qpid-02>
                         <PTC-Qpid-03>-n PTC-Qpid-03           -d10M -s[1000]   
-c[10]              -o $QPID_WORK/results -t testAsyncPingOk 
org.apache.qpid.ping.PingAsyncTestPerf   persistent=true  pubsub=true  
transacted=true  commitBatchSize=10  batchSize=1000   messageSize=256     
destinationCount=10 rate=0     maxPending=1000000 </PTC-Qpid-03>

Modified: 
incubator/qpid/branches/M2.1/java/perftests/src/main/java/org/apache/qpid/requestreply/PingPongProducer.java
URL: 
http://svn.apache.org/viewvc/incubator/qpid/branches/M2.1/java/perftests/src/main/java/org/apache/qpid/requestreply/PingPongProducer.java?rev=581566&r1=581565&r2=581566&view=diff
==============================================================================
--- 
incubator/qpid/branches/M2.1/java/perftests/src/main/java/org/apache/qpid/requestreply/PingPongProducer.java
 (original)
+++ 
incubator/qpid/branches/M2.1/java/perftests/src/main/java/org/apache/qpid/requestreply/PingPongProducer.java
 Wed Oct  3 04:23:08 2007
@@ -154,7 +154,10 @@
     /** Holds the transactional mode to use for the test. */
     public static final boolean TRANSACTED_DEFAULT = false;
 
+    /** Holds the name of the property to get the test consumer transacted 
mode from. */
     public static final String CONSUMER_TRANSACTED_PROPNAME = "consTransacted";
+
+    /** Holds the consumer transactional mode default setting. */
     public static final boolean CONSUMER_TRANSACTED_DEFAULT = false;
 
     /** Holds the name of the property to get the test broker url from. */
@@ -265,7 +268,10 @@
     /** Defines the default value for the unique destinations property. */
     public static final boolean UNIQUE_DESTS_DEFAULT = true;
 
+    /** Holds the name of the property to get the durable destinations flag 
from. */
     public static final String DURABLE_DESTS_PROPNAME = "durableDests";
+
+    /** Defines the default value of the durable destinations flag. */
     public static final boolean DURABLE_DESTS_DEFAULT = false;
 
     /** Holds the name of the proeprty to get the message acknowledgement mode 
from. */
@@ -274,10 +280,16 @@
     /** Defines the default message acknowledgement mode. */
     public static final int ACK_MODE_DEFAULT = Session.AUTO_ACKNOWLEDGE;
 
+    /** Holds the name of the property to get the consumers message 
acknowledgement mode from. */
     public static final String CONSUMER_ACK_MODE_PROPNAME = "consAckMode";
+
+    /** Defines the default consumers message acknowledgement mode. */
     public static final int CONSUMER_ACK_MODE_DEFAULT = 
Session.AUTO_ACKNOWLEDGE;
 
+    /** Holds the name of the property to get the maximum pending message size 
setting from. */
     public static final String MAX_PENDING_PROPNAME = "maxPending";
+
+    /** Defines the default value for the maximum pending message size 
setting. 0 means no limit. */
     public static final int MAX_PENDING_DEFAULT = 0;
 
     /** Defines the default prefetch size to use when consuming messages. */
@@ -326,21 +338,37 @@
         defaults.setPropertyIfNull(MAX_PENDING_PROPNAME, MAX_PENDING_DEFAULT);
     }
 
+    /** Holds the broker url. */
     protected String _brokerDetails;
+
+    /** Holds the username to access the broker with. */
     protected String _username;
+
+    /** Holds the password to access the broker with. */
     protected String _password;
+
+    /** Holds the virtual host on the broker to run the tests through. */
     protected String _virtualpath;
+
+    /** Holds the root name from which to generate test destination names. */
     protected String _destinationName;
+
+    /** Holds the message selector to filter the pings with. */
     protected String _selector;
+
+    /** Holds the producers transactional mode flag. */
     protected boolean _transacted;
+
+    /** Holds the consumers transactional mode flag. */
     protected boolean _consTransacted;
 
     /** Determines whether this producer sends persistent messages. */
     protected boolean _persistent;
 
-    /** Holds the acknowledgement mode used for sending and receiving 
messages. */
+    /** Holds the acknowledgement mode used for the producers. */
     protected int _ackMode;
 
+    /** Holds the acknowledgement mode setting for the consumers. */
     protected int _consAckMode;
 
     /** Determines what size of messages this producer sends. */
@@ -395,7 +423,7 @@
      * Holds a monitor which is used to synchronize sender and receivers 
threads, where the sender has elected
      * to wait until the number of unreceived message is reduced before 
continuing to send.
      */
-    protected Object _sendPauseMonitor = new Object();
+    protected static final Object _sendPauseMonitor = new Object();
 
     /** Keeps a count of the number of message currently sent but not 
received. */
     protected static AtomicInteger _unreceived = new AtomicInteger(0);
@@ -413,7 +441,7 @@
     /** A convenient formatter to use when time stamping output. */
     protected static final DateFormat timestampFormatter = new 
SimpleDateFormat("hh:mm:ss:SS");
 
-    /** Holds the connection to the broker. */
+    /** Holds the connection for the message producer. */
     protected Connection _connection;
 
     /** Holds the consumer connections. */
@@ -460,6 +488,8 @@
 
     /** The prompt to display when asking the user to kill the broker for 
failover testing. */
     private static final String KILL_BROKER_PROMPT = "Kill broker now, then 
press Return.";
+
+    /** Holds the name for this test client to be identified to the broker 
with. */
     private String _clientID;
 
     /** Keeps count of the total messages sent purely for debugging purposes. 
*/
@@ -470,7 +500,7 @@
      * for details. This constructor creates a connection to the broker and 
creates producer and consumer sessions on
      * it, to send and recieve its pings and replies on.
      *
-     * @param  overrides Properties containing any desired overrides to the 
defaults.
+     * @param overrides Properties containing any desired overrides to the 
defaults.
      *
      * @throws Exception Any exceptions are allowed to fall through.
      */
@@ -506,8 +536,8 @@
         _isPubSub = properties.getPropertyAsBoolean(PUBSUB_PROPNAME);
         _isUnique = properties.getPropertyAsBoolean(UNIQUE_DESTS_PROPNAME);
         _isDurable = properties.getPropertyAsBoolean(DURABLE_DESTS_PROPNAME);
-        _ackMode = properties.getPropertyAsInteger(ACK_MODE_PROPNAME);
-        _consAckMode = 
properties.getPropertyAsInteger(CONSUMER_ACK_MODE_PROPNAME);
+        _ackMode = _transacted ? 0 : 
properties.getPropertyAsInteger(ACK_MODE_PROPNAME);
+        _consAckMode = _consTransacted ? 0 : 
properties.getPropertyAsInteger(CONSUMER_ACK_MODE_PROPNAME);
         _maxPendingSize = 
properties.getPropertyAsInteger(MAX_PENDING_PROPNAME);
 
         // Check that one or more destinations were specified.
@@ -696,13 +726,15 @@
      * Creates consumers for the specified number of destinations. The 
destinations themselves are also created by this
      * method.
      *
-     * @param  noOfDestinations The number of destinations to create consumers 
for.
-     * @param  selector         The message selector to filter the consumers 
with.
-     * @param  rootName         The root of the name, or actual name if only 
one is being created.
-     * @param  unique           <tt>true</tt> to make the destinations unique 
to this pinger, <tt>false</tt> to share the
-     *                          numbering with all pingers on the same JVM.
+     * @param noOfDestinations The number of destinations to create consumers 
for.
+     * @param selector         The message selector to filter the consumers 
with.
+     * @param rootName         The root of the name, or actual name if only 
one is being created.
+     * @param unique           <tt>true</tt> to make the destinations unique 
to this pinger, <tt>false</tt> to share the
+     *                         numbering with all pingers on the same JVM.
+     * @param durable          If the destinations are durable topics.
      *
      * @throws JMSException Any JMSExceptions are allowed to fall through.
+     * @throws AMQException Any AMQExceptions are allowed to fall through.
      */
     public void createPingDestinations(int noOfDestinations, String selector, 
String rootName, boolean unique,
         boolean durable) throws JMSException, AMQException
@@ -817,7 +849,8 @@
      * correlating reply may be waiting on. This is only done if the reply has 
a correlation id that is expected in the
      * replies map.
      *
-     * @param message The received message.
+     * @param message    The received message.
+     * @param consumerNo The consumer number within this test pinger instance.
      */
     public void onMessageWithConsumerNo(Message message, int consumerNo)
     {
@@ -834,7 +867,7 @@
             String correlationID = message.getJMSCorrelationID();
             // log.debug("correlationID = " + correlationID);
 
-            int num = message.getIntProperty("MSG_NUM");
+            // int num = message.getIntProperty("MSG_NUM");
             // log.info("Message " + num + " received.");
 
             boolean isRedelivered = message.getJMSRedelivered();
@@ -857,8 +890,8 @@
                     // Decrement the countdown latch. Before this point, it is 
possible that two threads might enter this
                     // method simultanesouly with the same correlation id. 
Decrementing the latch in a synchronized block
                     // ensures that each thread will get a unique value for 
the remaining messages.
-                    long trueCount = -1;
-                    long remainingCount = -1;
+                    long trueCount;
+                    long remainingCount;
 
                     synchronized (trafficLight)
                     {
@@ -890,18 +923,28 @@
                         // log.debug("remainingCount = " + remainingCount);
                         // log.debug("trueCount = " + trueCount);
 
-                        // Commit on transaction batch size boundaries. At 
this point in time the waiting producer remains
-                        // blocked, even on the last message.
+                        // Commit on transaction batch size boundaries. At 
this point in time the waiting producer
+                        // remains blocked, even on the last message.
                         // Commit count is divided by noOfConsumers in p2p 
mode, so that each consumer only commits on
                         // each batch boundary. For pub/sub each consumer gets 
every message so no division is done.
+                        // When running in client ack mode, an ack is done 
instead of a commit, on the commit batch
+                        // size boundaries.
                         long commitCount = _isPubSub ? remainingCount : 
(remainingCount / _noOfConsumers);
                         // log.debug("commitCount = " + commitCount);
 
                         if ((commitCount % _txBatchSize) == 0)
                         {
-                            // log.debug("Trying commit for consumer " + 
consumerNo + ".");
-                            commitTx(_consumerSession[consumerNo]);
-                            // log.info("Tx committed on consumer " + 
consumerNo);
+                            if (_consAckMode == 2)
+                            {
+                                // log.debug("Doing client ack for consumer " 
+ consumerNo + ".");
+                                message.acknowledge();
+                            }
+                            else
+                            {
+                                // log.debug("Trying commit for consumer " + 
consumerNo + ".");
+                                commitTx(_consumerSession[consumerNo]);
+                                // log.info("Tx committed on consumer " + 
consumerNo);
+                            }
                         }
 
                         // Forward the message and remaining count to any 
interested chained message listener.
@@ -927,18 +970,6 @@
             {
                 log.warn("Got redelivered message, ignoring.");
             }
-
-            // Print out ping times for every message in verbose mode only.
-            /*if (_verbose)
-            {
-                Long timestamp = 
message.getLongProperty(MESSAGE_TIMESTAMP_PROPNAME);
-
-                if (timestamp != null)
-                {
-                    long diff = System.nanoTime() - timestamp;
-                    //log.trace("Time for round trip (nanos): " + diff);
-                }
-            }*/
         }
         catch (JMSException e)
         {
@@ -1000,9 +1031,9 @@
             // Send the specifed number of messages.
             pingNoWaitForReply(message, numPings, messageCorrelationId);
 
-            boolean timedOut = false;
-            boolean allMessagesReceived = false;
-            int numReplies = 0;
+            boolean timedOut;
+            boolean allMessagesReceived;
+            int numReplies;
 
             do
             {
@@ -1080,9 +1111,6 @@
         // Send all of the ping messages.
         for (int i = 0; i < numPings; i++)
         {
-            // Reset the committed flag to indicate that there may be 
uncommitted messages.
-            committed = false;
-
             // Re-timestamp the message.
             // message.setLongProperty(MESSAGE_TIMESTAMP_PROPNAME, 
System.nanoTime());
 
@@ -1125,16 +1153,7 @@
         Destination destination = _pingDestinations.get(i % 
_pingDestinations.size());
 
         // Prompt the user to kill the broker when doing failover testing.
-        if (_failBeforeSend)
-        {
-            if (_failOnce)
-            {
-                _failBeforeSend = false;
-            }
-
-            // log.trace("Failing Before Send");
-            waitForUser(KILL_BROKER_PROMPT);
-        }
+        _failBeforeSend = waitForUserToPromptOnFailure(_failBeforeSend);
 
         // If necessary, wait until the max pending message size comes within 
its limit.
         synchronized (_sendPauseMonitor)
@@ -1193,28 +1212,24 @@
         }
 
         // Send the message either to its round robin destination, or its 
default destination.
+        int num = numSent.incrementAndGet();
+        message.setIntProperty("MSG_NUM", num);
+        setTimestamp(message);
+
         if (destination == null)
         {
-            int num = numSent.incrementAndGet();
-            message.setIntProperty("MSG_NUM", num);
-            setTimestamp(message);
             _producer.send(message);
-            // log.info("Message " + num + " sent.");
         }
         else
         {
-            int num = numSent.incrementAndGet();
-            message.setIntProperty("MSG_NUM", num);
-            setTimestamp(message);
             _producer.send(destination, message);
-            // log.info("Message " + num + " sent.");
         }
 
         // Increase the unreceived size, this may actually happen after the 
message is received.
         // The unreceived size is incremented by the number of consumers that 
will get a copy of the message,
         // in pub/sub mode.
         // _unreceived.getAndIncrement();
-        int newUnreceivedCount = _unreceived.addAndGet(_isPubSub ? 
getConsumersPerDestination() : 1);
+        /*int newUnreceivedCount =*/ _unreceived.addAndGet(_isPubSub ? 
getConsumersPerDestination() : 1);
         // log.debug("newUnreceivedCount = " + newUnreceivedCount);
 
         // Apply message rate throttling if a rate limit has been set up.
@@ -1237,6 +1252,31 @@
     }
 
     /**
+     * If the specified fail flag is set, this method waits for the user to 
cause a failure and then indicate to the
+     * test that the failure has occurred, before the method returns.
+     *
+     * @param failFlag The fail flag to test.
+     *
+     * @return The new value for the fail flag. If the [EMAIL PROTECTED] 
#_failOnce} flag is set, then each fail flag is only
+     *         used once, then reset.
+     */
+    private boolean waitForUserToPromptOnFailure(boolean failFlag)
+    {
+        if (failFlag)
+        {
+            if (_failOnce)
+            {
+                failFlag = false;
+            }
+
+            // log.trace("Failing Before Send");
+            waitForUser(KILL_BROKER_PROMPT);
+        }
+
+        return failFlag;
+    }
+
+    /**
      * Implements a single iteration of the ping loop. This sends the number 
of pings specified by the transaction batch
      * size property, and waits for replies to all of them. Any errors cause 
the publish flag to be cleared, which will
      * terminate the pinger.
@@ -1294,15 +1334,16 @@
      */
     public Message getTestMessage(Destination replyQueue, int messageSize, 
boolean persistent) throws JMSException
     {
-        ObjectMessage msg = 
TestMessageFactory.newObjectMessage(_producerSession, replyQueue, messageSize, 
persistent);
-
-        // Timestamp the message in nanoseconds.
-
-        // setTimestamp(msg);
-
-        return msg;
+        return TestMessageFactory.newObjectMessage(_producerSession, 
replyQueue, messageSize, persistent);
     }
 
+    /**
+     * Sets the current time in nanoseconds as the timestamp on the message.
+     *
+     * @param msg The message to timestamp.
+     *
+     * @throws JMSException Any JMSExceptions are allowed to fall through.
+     */
     protected void setTimestamp(Message msg) throws JMSException
     {
         if (((AMQSession) _producerSession).isStrictAMQP())
@@ -1315,9 +1356,17 @@
         }
     }
 
+    /**
+     * Extracts the nanosecond timestamp from a message.
+     *
+     * @param msg The message to extract the time stamp from.
+     *
+     * @return The timestamp in nanos.
+     *
+     * @throws JMSException Any JMSExceptions are allowed to fall through.
+     */
     protected long getTimestamp(Message msg) throws JMSException
     {
-
         if (((AMQSession) _producerSession).isStrictAMQP())
         {
             Long value = ((AMQMessage) msg).getTimestampProperty(new 
AMQShortString(MESSAGE_TIMESTAMP_PROPNAME));
@@ -1331,7 +1380,7 @@
     }
 
     /**
-     * Stops the ping loop by clearing the publish flag. The current loop will 
complete before it notices that this flag
+     * Stops the ping loop by clearing the publish flag. The current loop will 
complete when it notices that this flag
      * has been cleared.
      */
     public void stop()
@@ -1339,6 +1388,11 @@
         _publish = false;
     }
 
+    /**
+     * Starts the producer and consumer connections.
+     *
+     * @throws JMSException Any JMSExceptions are allowed to fall through.
+     */
     public void start() throws JMSException
     {
         // log.debug("public void start(): called");
@@ -1393,7 +1447,7 @@
     }
 
     /**
-     * Closes the pingers connection.
+     * Closes all of the producer and consumer connections.
      *
      * @throws JMSException All JMSException are allowed to fall through.
      */
@@ -1460,18 +1514,7 @@
 
         boolean committed = false;
 
-        // log.trace("Batch time reached");
-        if (_failAfterSend)
-        {
-            // log.trace("Batch size reached");
-            if (_failOnce)
-            {
-                _failAfterSend = false;
-            }
-
-            // log.trace("Failing After Send");
-            waitForUser(KILL_BROKER_PROMPT);
-        }
+        _failAfterSend = waitForUserToPromptOnFailure(_failAfterSend);
 
         if (session.getTransacted())
         {
@@ -1479,32 +1522,14 @@
 
             try
             {
-                if (_failBeforeCommit)
-                {
-                    if (_failOnce)
-                    {
-                        _failBeforeCommit = false;
-                    }
-
-                    // log.trace("Failing Before Commit");
-                    waitForUser(KILL_BROKER_PROMPT);
-                }
+                _failBeforeCommit = 
waitForUserToPromptOnFailure(_failBeforeCommit);
 
-                long start = System.nanoTime();
+                // long start = System.nanoTime();
                 session.commit();
                 committed = true;
                 // log.debug("Time taken to commit :" + ((System.nanoTime() - 
start) / 1000000f) + " ms");
 
-                if (_failAfterCommit)
-                {
-                    if (_failOnce)
-                    {
-                        _failAfterCommit = false;
-                    }
-
-                    // log.trace("Failing After Commit");
-                    waitForUser(KILL_BROKER_PROMPT);
-                }
+                _failAfterCommit = 
waitForUserToPromptOnFailure(_failAfterCommit);
 
                 // log.debug("Session Commited.");
             }


Reply via email to