Author: ritchiem
Date: Fri Feb  2 07:42:57 2007
New Revision: 502633

URL: http://svn.apache.org/viewvc?view=rev&rev=502633
Log:
Revision: 502627
Author: rgreig
Date: 15:31:30, 02 February 2007
Message:
(Submitted by Rupert Smith)
Fixed problem with losing message results. Was not passing in self generated 
message correlation id in the async test, to match up replies with.
----
Modified : 
/incubator/qpid/trunk/qpid/java/perftests/src/test/java/org/apache/qpid/ping/PingAsyncTestPerf.java


Revision: 502620
Author: rgreig
Date: 15:09:08, 02 February 2007
Message:
(Submitted by Rupert Smith) 
Perftests improved with better timeout handling. Shared/unique destinations to 
ping now an option.
TestRunner now runs all per-thread setups, synchs all threads, then runs tests, 
synchas all threads, then runs tear downs.
----
Deleted : 
/incubator/qpid/trunk/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/junit-toolkit-0.5-20070131.112634-1.jar
Deleted : 
/incubator/qpid/trunk/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/junit-toolkit-0.5-20070131.112634-1.jar.md5
Deleted : 
/incubator/qpid/trunk/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/junit-toolkit-0.5-20070131.112634-1.jar.sha1
Deleted : 
/incubator/qpid/trunk/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/junit-toolkit-0.5-20070131.112634-1.pom
Deleted : 
/incubator/qpid/trunk/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/junit-toolkit-0.5-20070131.112634-1.pom.md5
Deleted : 
/incubator/qpid/trunk/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/junit-toolkit-0.5-20070131.112634-1.pom.sha1
Added : 
/incubator/qpid/trunk/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/junit-toolkit-0.5-20070202.132554-1.jar
Added : 
/incubator/qpid/trunk/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/junit-toolkit-0.5-20070202.132554-1.jar.md5
Added : 
/incubator/qpid/trunk/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/junit-toolkit-0.5-20070202.132554-1.jar.sha1
Added : 
/incubator/qpid/trunk/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/junit-toolkit-0.5-20070202.132554-1.pom
Added : 
/incubator/qpid/trunk/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/junit-toolkit-0.5-20070202.132554-1.pom.md5
Added : 
/incubator/qpid/trunk/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/junit-toolkit-0.5-20070202.132554-1.pom.sha1
Modified : 
/incubator/qpid/trunk/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/maven-metadata.xml
Modified : 
/incubator/qpid/trunk/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/maven-metadata.xml.md5
Modified : 
/incubator/qpid/trunk/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/maven-metadata.xml.sha1
Modified : 
/incubator/qpid/trunk/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/maven-metadata.xml
Modified : 
/incubator/qpid/trunk/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/maven-metadata.xml.md5
Modified : 
/incubator/qpid/trunk/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/maven-metadata.xml.sha1
Modified : 
/incubator/qpid/trunk/qpid/java/perftests/src/main/java/org/apache/qpid/ping/PingClient.java
Modified : 
/incubator/qpid/trunk/qpid/java/perftests/src/main/java/org/apache/qpid/requestreply/PingPongProducer.java
Modified : 
/incubator/qpid/trunk/qpid/java/perftests/src/test/java/org/apache/qpid/ping/PingAsyncTestPerf.java
Modified : 
/incubator/qpid/trunk/qpid/java/perftests/src/test/java/org/apache/qpid/ping/PingTestPerf.java
Modified : 
/incubator/qpid/trunk/qpid/java/perftests/src/test/java/org/apache/qpid/requestreply/PingPongTestPerf.java



Added:
    
incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/junit-toolkit-0.5-20070202.132554-1.jar
   (with props)
    
incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/junit-toolkit-0.5-20070202.132554-1.jar.md5
    
incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/junit-toolkit-0.5-20070202.132554-1.jar.sha1
    
incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/junit-toolkit-0.5-20070202.132554-1.pom
    
incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/junit-toolkit-0.5-20070202.132554-1.pom.md5
    
incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/junit-toolkit-0.5-20070202.132554-1.pom.sha1
Removed:
    
incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/junit-toolkit-0.5-20070131.112634-1.jar
    
incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/junit-toolkit-0.5-20070131.112634-1.jar.md5
    
incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/junit-toolkit-0.5-20070131.112634-1.jar.sha1
    
incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/junit-toolkit-0.5-20070131.112634-1.pom
    
incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/junit-toolkit-0.5-20070131.112634-1.pom.md5
    
incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/junit-toolkit-0.5-20070131.112634-1.pom.sha1
Modified:
    incubator/qpid/branches/perftesting/qpid/java/AppliedPatches.txt
    
incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/maven-metadata.xml
    
incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/maven-metadata.xml.md5
    
incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/maven-metadata.xml.sha1
    
incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/maven-metadata.xml
    
incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/maven-metadata.xml.md5
    
incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/maven-metadata.xml.sha1
    
incubator/qpid/branches/perftesting/qpid/java/perftests/src/main/java/org/apache/qpid/ping/PingClient.java
    
incubator/qpid/branches/perftesting/qpid/java/perftests/src/main/java/org/apache/qpid/requestreply/PingPongProducer.java
    
incubator/qpid/branches/perftesting/qpid/java/perftests/src/test/java/org/apache/qpid/ping/PingAsyncTestPerf.java
    
incubator/qpid/branches/perftesting/qpid/java/perftests/src/test/java/org/apache/qpid/ping/PingTestPerf.java
    
incubator/qpid/branches/perftesting/qpid/java/perftests/src/test/java/org/apache/qpid/requestreply/PingPongTestPerf.java

Modified: incubator/qpid/branches/perftesting/qpid/java/AppliedPatches.txt
URL: 
http://svn.apache.org/viewvc/incubator/qpid/branches/perftesting/qpid/java/AppliedPatches.txt?view=diff&rev=502633&r1=502632&r2=502633
==============================================================================
--- incubator/qpid/branches/perftesting/qpid/java/AppliedPatches.txt (original)
+++ incubator/qpid/branches/perftesting/qpid/java/AppliedPatches.txt Fri Feb  2 
07:42:57 2007
@@ -6,7 +6,7 @@
 502576.499979
 
 -Not Done-
-
+502610 QPID-84 UPdate PropertiesFileInitialContextFactoryTest Remove 
referencetest
 502269 MNGMNT lets user copy and paste host details
 502180 QPID-331 MNGMENT setting default values on parameters
 502178 Virtual host string corrected.
@@ -66,6 +66,8 @@
 494650 QPID-268 Improvements to performance of generated code
 
 -Done-
+502627 Fixed problem with losing message results
+502620 Performance test improvement with better timeout handing
 502576 QPID-343 performacne test suite doesn't output missing message count
 502271 QPID-341 When using Queues and Topics via JNDI properties not 
maintained.
 502268 Increased logging on StateManager

Added: 
incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/junit-toolkit-0.5-20070202.132554-1.jar
URL: 
http://svn.apache.org/viewvc/incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/junit-toolkit-0.5-20070202.132554-1.jar?view=auto&rev=502633
==============================================================================
Binary file - no diff available.

Propchange: 
incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/junit-toolkit-0.5-20070202.132554-1.jar
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: 
incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/junit-toolkit-0.5-20070202.132554-1.jar.md5
URL: 
http://svn.apache.org/viewvc/incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/junit-toolkit-0.5-20070202.132554-1.jar.md5?view=auto&rev=502633
==============================================================================
--- 
incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/junit-toolkit-0.5-20070202.132554-1.jar.md5
 (added)
+++ 
incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/junit-toolkit-0.5-20070202.132554-1.jar.md5
 Fri Feb  2 07:42:57 2007
@@ -0,0 +1 @@
+ce27581a94a89b664830f3c355dd7bf5
\ No newline at end of file

Added: 
incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/junit-toolkit-0.5-20070202.132554-1.jar.sha1
URL: 
http://svn.apache.org/viewvc/incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/junit-toolkit-0.5-20070202.132554-1.jar.sha1?view=auto&rev=502633
==============================================================================
--- 
incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/junit-toolkit-0.5-20070202.132554-1.jar.sha1
 (added)
+++ 
incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/junit-toolkit-0.5-20070202.132554-1.jar.sha1
 Fri Feb  2 07:42:57 2007
@@ -0,0 +1 @@
+ffecddfd23345c7fb4177ab1d89cf73a4fe7adc9
\ No newline at end of file

Added: 
incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/junit-toolkit-0.5-20070202.132554-1.pom
URL: 
http://svn.apache.org/viewvc/incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/junit-toolkit-0.5-20070202.132554-1.pom?view=auto&rev=502633
==============================================================================
--- 
incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/junit-toolkit-0.5-20070202.132554-1.pom
 (added)
+++ 
incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/junit-toolkit-0.5-20070202.132554-1.pom
 Fri Feb  2 07:42:57 2007
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?><project>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>uk.co.thebadgerset</groupId>
+  <artifactId>junit-toolkit</artifactId>
+  <name>junit-toolkit</name>
+  <version>0.5-20070202.132554-1</version>
+  <description>JUnit Toolkit enhances JUnit with performance testing, 
asymptotic behaviour analysis, and concurrency testing.</description>
+  <url>http://www.thebadgerset.co.uk/junit-toolkit</url>
+  <developers>
+    <developer>
+      <id>rupert</id>
+      <name>Rupert Smith</name>
+      <email>rupertlssmith (contactable on g-m-a-i-l)</email>
+      <organization></organization>
+    </developer>
+  </developers>
+  <licenses>
+    <license>
+      <name>The Apache Software License, Version 2.0</name>
+      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+      <distribution>repo</distribution>
+    </license>
+  </licenses>
+  <scm>
+    
<connection>scm:svn:http://www.thebadgerset.co.uk/svn/junit-toolkit</connection>
+  </scm>
+  <organization>
+    <name>The Badger Set trading as Liberty Bishop (1151) ltd.</name>
+    <url>http://www.thebadgerset.co.uk/</url>
+  </organization>
+  <build>
+    <sourceDirectory>src/main</sourceDirectory>
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <artifactId>maven-compiler-plugin</artifactId>
+          <version>2.0.1</version>
+          <configuration>
+            <source>1.5</source>
+            <target>1.5</target>
+            <fork>false</fork>
+          </configuration>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+  </build>
+  <pluginRepositories>
+    <pluginRepository>
+      <snapshots />
+      <id>apache.snapshots</id>
+      <name>Apache SNAPSHOT Repository</name>
+      <url>http://people.apache.org/repo/m2-snapshot-repository</url>
+    </pluginRepository>
+  </pluginRepositories>
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>3.8.1</version>
+    </dependency>
+    <dependency>
+      <groupId>log4j</groupId>
+      <artifactId>log4j</artifactId>
+      <version>1.2.8</version>
+    </dependency>
+    <dependency>
+      <groupId>regexp</groupId>
+      <artifactId>regexp</artifactId>
+      <version>1.3</version>
+    </dependency>
+  </dependencies>
+  <reporting>
+    <plugins>
+      <plugin>
+        <artifactId>maven-pmd-plugin</artifactId>
+        <configuration>
+          <linkXref>true</linkXref>
+          <sourceEncoding>utf-8</sourceEncoding>
+          <minimumTokens>20</minimumTokens>
+          <targetJdk>1.5</targetJdk>
+        </configuration>
+      </plugin>
+      <plugin>
+        <artifactId>maven-jxr-plugin</artifactId>
+      </plugin>
+      <plugin>
+        <artifactId>maven-javadoc-plugin</artifactId>
+      </plugin>
+      <plugin>
+        <artifactId>maven-checkstyle-plugin</artifactId>
+        <configuration>
+          <configLocation>../mavenbuild/coding_standards.xml</configLocation>
+        </configuration>
+      </plugin>
+    </plugins>
+  </reporting>
+  <distributionManagement>
+    <repository>
+      <uniqueVersion>false</uniqueVersion>
+      <id>release-repo</id>
+      <name>The Badger Set Maven2 Repository</name>
+      <url>file://c:/temp</url>
+    </repository>
+    <snapshotRepository>
+      <id>snapshot-repo</id>
+      <name>The Badger Set Maven2 Snapshot Repository</name>
+      <url>file://c:/temp</url>
+    </snapshotRepository>
+    <status>deployed</status>
+  </distributionManagement>
+</project>
\ No newline at end of file

Added: 
incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/junit-toolkit-0.5-20070202.132554-1.pom.md5
URL: 
http://svn.apache.org/viewvc/incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/junit-toolkit-0.5-20070202.132554-1.pom.md5?view=auto&rev=502633
==============================================================================
--- 
incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/junit-toolkit-0.5-20070202.132554-1.pom.md5
 (added)
+++ 
incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/junit-toolkit-0.5-20070202.132554-1.pom.md5
 Fri Feb  2 07:42:57 2007
@@ -0,0 +1 @@
+36d35e778356cef8a984a021d9bc0fe4
\ No newline at end of file

Added: 
incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/junit-toolkit-0.5-20070202.132554-1.pom.sha1
URL: 
http://svn.apache.org/viewvc/incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/junit-toolkit-0.5-20070202.132554-1.pom.sha1?view=auto&rev=502633
==============================================================================
--- 
incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/junit-toolkit-0.5-20070202.132554-1.pom.sha1
 (added)
+++ 
incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/junit-toolkit-0.5-20070202.132554-1.pom.sha1
 Fri Feb  2 07:42:57 2007
@@ -0,0 +1 @@
+9383e1d89168d83973f47595063a35b733a3854d
\ No newline at end of file

Modified: 
incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/maven-metadata.xml
URL: 
http://svn.apache.org/viewvc/incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/maven-metadata.xml?view=diff&rev=502633&r1=502632&r2=502633
==============================================================================
--- 
incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/maven-metadata.xml
 (original)
+++ 
incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/maven-metadata.xml
 Fri Feb  2 07:42:57 2007
@@ -4,9 +4,9 @@
   <version>0.5-SNAPSHOT</version>
   <versioning>
     <snapshot>
-      <timestamp>20070131.112634</timestamp>
+      <timestamp>20070202.132554</timestamp>
       <buildNumber>1</buildNumber>
     </snapshot>
-    <lastUpdated>20070131112634</lastUpdated>
+    <lastUpdated>20070202132554</lastUpdated>
   </versioning>
 </metadata>

Modified: 
incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/maven-metadata.xml.md5
URL: 
http://svn.apache.org/viewvc/incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/maven-metadata.xml.md5?view=diff&rev=502633&r1=502632&r2=502633
==============================================================================
--- 
incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/maven-metadata.xml.md5
 (original)
+++ 
incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/maven-metadata.xml.md5
 Fri Feb  2 07:42:57 2007
@@ -1 +1 @@
-59aa948e74a22a370cc414718864f65f
\ No newline at end of file
+277e07c561ec6eebda9d1a470a2ce6a4
\ No newline at end of file

Modified: 
incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/maven-metadata.xml.sha1
URL: 
http://svn.apache.org/viewvc/incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/maven-metadata.xml.sha1?view=diff&rev=502633&r1=502632&r2=502633
==============================================================================
--- 
incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/maven-metadata.xml.sha1
 (original)
+++ 
incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/0.5-SNAPSHOT/maven-metadata.xml.sha1
 Fri Feb  2 07:42:57 2007
@@ -1 +1 @@
-f2350021d6d3c2091d35d074b6ecd312d6f91657
\ No newline at end of file
+155e5e47c236cefb5668414e81cc485867bdb93e
\ No newline at end of file

Modified: 
incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/maven-metadata.xml
URL: 
http://svn.apache.org/viewvc/incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/maven-metadata.xml?view=diff&rev=502633&r1=502632&r2=502633
==============================================================================
--- 
incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/maven-metadata.xml
 (original)
+++ 
incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/maven-metadata.xml
 Fri Feb  2 07:42:57 2007
@@ -6,6 +6,6 @@
     <versions>
       <version>0.5-SNAPSHOT</version>
     </versions>
-    <lastUpdated>20070131112634</lastUpdated>
+    <lastUpdated>20070202132554</lastUpdated>
   </versioning>
 </metadata>

Modified: 
incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/maven-metadata.xml.md5
URL: 
http://svn.apache.org/viewvc/incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/maven-metadata.xml.md5?view=diff&rev=502633&r1=502632&r2=502633
==============================================================================
--- 
incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/maven-metadata.xml.md5
 (original)
+++ 
incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/maven-metadata.xml.md5
 Fri Feb  2 07:42:57 2007
@@ -1 +1 @@
-260c92993eec99c2c2c0217cf6241842
\ No newline at end of file
+77e2a30606515c4f52bcb466c3966f63
\ No newline at end of file

Modified: 
incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/maven-metadata.xml.sha1
URL: 
http://svn.apache.org/viewvc/incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/maven-metadata.xml.sha1?view=diff&rev=502633&r1=502632&r2=502633
==============================================================================
--- 
incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/maven-metadata.xml.sha1
 (original)
+++ 
incubator/qpid/branches/perftesting/qpid/java/mvn-repo/uk/co/thebadgerset/junit-toolkit/maven-metadata.xml.sha1
 Fri Feb  2 07:42:57 2007
@@ -1 +1 @@
-c8803f171049b2bb3e258f78b8c9490dec3074c4
\ No newline at end of file
+111f4320859e398337dbf4e396ec2fad1e5aa8dd
\ No newline at end of file

Modified: 
incubator/qpid/branches/perftesting/qpid/java/perftests/src/main/java/org/apache/qpid/ping/PingClient.java
URL: 
http://svn.apache.org/viewvc/incubator/qpid/branches/perftesting/qpid/java/perftests/src/main/java/org/apache/qpid/ping/PingClient.java?view=diff&rev=502633&r1=502632&r2=502633
==============================================================================
--- 
incubator/qpid/branches/perftesting/qpid/java/perftests/src/main/java/org/apache/qpid/ping/PingClient.java
 (original)
+++ 
incubator/qpid/branches/perftesting/qpid/java/perftests/src/main/java/org/apache/qpid/ping/PingClient.java
 Fri Feb  2 07:42:57 2007
@@ -63,18 +63,19 @@
      * @param noOfDestinations The number of destinations to ping. Must be 1 
or more.
      * @param rate             Specified the number of pings per second to 
send. Setting this to 0 means send as fast as
      *                         possible, with no rate restriction.
-     * @param pubsub
+     * @param pubsub           True to ping topics, false to ping queues.
+     * @param unique           True to use unique destinations for each ping 
pong producer, false to share.
      *
      * @throws Exception Any exceptions are allowed to fall through.
      */
     public PingClient(String brokerDetails, String username, String password, 
String virtualpath, String destinationName,
                       String selector, boolean transacted, boolean persistent, 
int messageSize, boolean verbose,
                       boolean afterCommit, boolean beforeCommit, boolean 
afterSend, boolean beforeSend, boolean failOnce,
-                      int txBatchSize, int noOfDestinations, int rate, boolean 
pubsub) throws Exception
+                      int txBatchSize, int noOfDestinations, int rate, boolean 
pubsub, boolean unique) throws Exception
     {
         super(brokerDetails, username, password, virtualpath, destinationName, 
selector, transacted, persistent, messageSize,
               verbose, afterCommit, beforeCommit, afterSend, beforeSend, 
failOnce, txBatchSize, noOfDestinations, rate,
-              pubsub);
+              pubsub, unique);
     }
 
     /**

Modified: 
incubator/qpid/branches/perftesting/qpid/java/perftests/src/main/java/org/apache/qpid/requestreply/PingPongProducer.java
URL: 
http://svn.apache.org/viewvc/incubator/qpid/branches/perftesting/qpid/java/perftests/src/main/java/org/apache/qpid/requestreply/PingPongProducer.java?view=diff&rev=502633&r1=502632&r2=502633
==============================================================================
--- 
incubator/qpid/branches/perftesting/qpid/java/perftests/src/main/java/org/apache/qpid/requestreply/PingPongProducer.java
 (original)
+++ 
incubator/qpid/branches/perftesting/qpid/java/perftests/src/main/java/org/apache/qpid/requestreply/PingPongProducer.java
 Fri Feb  2 07:42:57 2007
@@ -34,13 +34,12 @@
 
 import org.apache.log4j.Logger;
 
-
-import org.apache.qpid.client.message.TestMessageFactory;
 import org.apache.qpid.client.AMQConnection;
 import org.apache.qpid.client.AMQDestination;
-import org.apache.qpid.client.AMQTopic;
-import org.apache.qpid.client.AMQQueue;
 import org.apache.qpid.client.AMQNoConsumersException;
+import org.apache.qpid.client.AMQQueue;
+import org.apache.qpid.client.AMQTopic;
+import org.apache.qpid.client.message.TestMessageFactory;
 import org.apache.qpid.jms.MessageProducer;
 import org.apache.qpid.jms.Session;
 import org.apache.qpid.topic.Config;
@@ -78,11 +77,9 @@
  *       the timing controller on timing aware tests or by throttling rate of 
calling tests methods on non-timing aware
  *       tests.
  *
- * @todo Make shared or unique destinations a configurable option, hard coded 
to false.
- *
  * @todo Make acknowledege mode a test option.
  *
- * @todo Make the message listener a static for all replies to be sent to. It 
won't be any more of a bottle neck than
+ * @todo Make the message listener a static for all replies to be sent to? It 
won't be any more of a bottle neck than
  *       having one per PingPongProducer, as will synchronize on message 
correlation id, allowing threads to process
  *       messages concurrently for different ids. Needs to be static so that 
when using a chained message listener and
  *       shared destinations between multiple PPPs, it gets notified about all 
replies, not just those that happen to
@@ -94,12 +91,6 @@
  *       that the last message waits until all other messages have been 
handled before releasing producers but allows
  *       messages to be processed concurrently, unlike the current 
synchronized block.
  *
- * @todo Set the timeout to be per message correlation id. Restart it every 
time a message is received (with matching id).
- *       Means that timeout is measuring situations whether a particular ping 
stream has pasued for too long, rather than
- *       the time to send an entire block of messages. This will be better 
because the timeout won't need to be adjusted
- *       depending on the total number of messages being sent. Logic to be 
added to sendAndWait to recheck the timeout
- *       whenever its wait expires.
- *
  * @todo Need to multiply up the number of expected messages for pubsub tests 
as each can be received by many consumers?
  */
 public class PingPongProducer implements Runnable, MessageListener, 
ExceptionListener
@@ -155,6 +146,8 @@
 
     public static final String COMMIT_BATCH_SIZE_PROPNAME = "CommitBatchSize";
 
+    public static final String UNIQUE_PROPNAME = "uniqueDests";
+
     /** Used to set up a default message size. */
     public static final int DEFAULT_MESSAGE_SIZE = 0;
 
@@ -171,7 +164,7 @@
     public static final long DEFAULT_SLEEP_TIME = 250;
 
     /** Default time to wait before assuming that a ping has timed out. */
-    public static final long DEFAULT_TIMEOUT = 9000;
+    public static final long DEFAULT_TIMEOUT = 30000;
 
     /** Defines the default number of pings to send in each transaction when 
running transactionally. */
     public static final int DEFAULT_TX_BATCH_SIZE = 100;
@@ -227,18 +220,25 @@
     /** Holds the default verbose mode. */
     public static final boolean DEFAULT_VERBOSE = false;
 
+    public static final boolean DEFAULT_UNIQUE = true;
+
     /** Holds the name of the property to store nanosecond timestamps in ping 
messages with. */
     public static final String MESSAGE_TIMESTAMP_PROPNAME = "timestamp";
 
     /** A source for providing sequential unique correlation ids. These will 
be unique within the same JVM. */
-    private static AtomicLong idGenerator = new AtomicLong(0L);
+    private static AtomicLong _correlationIdGenerator = new AtomicLong(0L);
+
+    /** A source for providing unique ids to PingPongProducer. */
+    private static AtomicInteger _pingProducerIdGenerator;
 
     /**
      * Holds a map from message ids to latches on which threads wait for 
replies. This map is shared accross
      * multiple ping producers on the same JVM.
      */
-    private static Map<String, CountDownLatch> trafficLights =
-        Collections.synchronizedMap(new HashMap<String, CountDownLatch>());
+    /*private static Map<String, CountDownLatch> trafficLights =
+        Collections.synchronizedMap(new HashMap<String, CountDownLatch>());*/
+    private static Map<String, PerCorrelationId> perCorrelationIds =
+        Collections.synchronizedMap(new HashMap<String, PerCorrelationId>());
 
     /** A convenient formatter to use when time stamping output. */
     protected static final DateFormat timestampFormatter = new 
SimpleDateFormat("hh:mm:ss:SS");
@@ -337,7 +337,8 @@
      * @param noOfDestinations The number of destinations to ping. Must be 1 
or more.
      * @param rate             Specified the number of pings per second to 
send. Setting this to 0 means send as fast as
      *                         possible, with no rate restriction.
-     * @param pubsub
+     * @param pubsub           True to ping topics, false to ping queues.
+     * @param unique           True to use unique destinations for each ping 
pong producer, false to share.
      *
      * @throws Exception Any exceptions are allowed to fall through.
      */
@@ -345,8 +346,18 @@
                             String destinationName, String selector, boolean 
transacted, boolean persistent, int messageSize,
                             boolean verbose, boolean afterCommit, boolean 
beforeCommit, boolean afterSend,
                             boolean beforeSend, boolean failOnce, int 
txBatchSize, int noOfDestinations, int rate,
-                            boolean pubsub) throws Exception
+                            boolean pubsub, boolean unique) throws Exception
     {
+        _logger.debug("public PingPongProducer(String brokerDetails = " + 
brokerDetails + ", String username = " + username
+                      + ", String password = " + password + ", String 
virtualpath = " + virtualpath
+                      + ", String destinationName = " + destinationName + ", 
String selector = " + selector
+                      + ", boolean transacted = " + transacted + ", boolean 
persistent = " + persistent
+                      + ", int messageSize = " + messageSize + ", boolean 
verbose = " + verbose + ", boolean afterCommit = "
+                      + afterCommit + ", boolean beforeCommit = " + 
beforeCommit + ", boolean afterSend = " + afterSend
+                      + ", boolean beforeSend = " + beforeSend + ", boolean 
failOnce = " + failOnce + ", int txBatchSize = "
+                      + txBatchSize + ", int noOfDestinations = " + 
noOfDestinations + ", int rate = " + rate
+                      + ", boolean pubsub = " + pubsub + ", boolean unique = " 
+ unique + "): called");
+
         // Check that one or more destinations were specified.
         if (noOfDestinations < 1)
         {
@@ -375,7 +386,7 @@
 
         // Create the producer and the consumers for all reply destinations.
         createProducer();
-        createPingDestinations(noOfDestinations, selector, destinationName, 
true);
+        createPingDestinations(noOfDestinations, selector, destinationName, 
unique);
         createReplyConsumers(getReplyDestinations(), selector);
 
         // Keep all the remaining options.
@@ -470,7 +481,7 @@
         PingPongProducer pingProducer =
             new PingPongProducer(brokerDetails, DEFAULT_USERNAME, 
DEFAULT_PASSWORD, virtualpath, destName, selector,
                                  transacted, persistent, messageSize, verbose, 
afterCommit, beforeCommit, afterSend,
-                                 beforeSend, failOnce, batchSize, destCount, 
rate, pubsub);
+                                 beforeSend, failOnce, batchSize, destCount, 
rate, pubsub, false);
 
         pingProducer.getConnection().start();
 
@@ -605,10 +616,15 @@
             _logger.debug("correlationID = " + correlationID);
 
             // Countdown on the traffic light if there is one for the matching 
correlation id.
-            CountDownLatch trafficLight = trafficLights.get(correlationID);
+            PerCorrelationId perCorrelationId = 
perCorrelationIds.get(correlationID);
 
-            if (trafficLight != null)
+            if (perCorrelationId != null)
             {
+                CountDownLatch trafficLight = perCorrelationId.trafficLight;
+
+                // Restart the timeout timer on every message.
+                perCorrelationId.timeOutStart = System.nanoTime();
+
                 _logger.debug("Reply was expected, decrementing the latch for 
the id, " + correlationID);
 
                 // Decrement the countdown latch. Before this point, it is 
possible that two threads might enter this
@@ -650,7 +666,7 @@
             }
             else
             {
-                _logger.debug("There was no thread waiting for reply: " + 
correlationID);
+                _logger.warn("Got unexpected message with correlationId: " + 
correlationID);
             }
 
             // Print out ping times for every message in verbose mode only.
@@ -693,7 +709,7 @@
                       + timeout + "): called");
 
         // Create a unique correlation id to put on the messages before 
sending them.
-        String messageCorrelationId = 
Long.toString(idGenerator.incrementAndGet());
+        String messageCorrelationId = 
Long.toString(_correlationIdGenerator.incrementAndGet());
 
         return pingAndWaitForReply(message, numPings, timeout, 
messageCorrelationId);
     }
@@ -726,17 +742,42 @@
             // One is added to this, so that the last reply becomes a special 
case. The special case is that the
             // chained message listener must be called before this sender can 
be unblocked, but that decrementing the
             // countdown needs to be done before the chained listener can be 
called.
-            CountDownLatch trafficLight = new CountDownLatch(numPings + 1);
-            trafficLights.put(messageCorrelationId, trafficLight);
+            PerCorrelationId perCorrelationId = new PerCorrelationId();
+            perCorrelationId.trafficLight = new CountDownLatch(numPings + 1);
+            perCorrelationIds.put(messageCorrelationId, perCorrelationId);
+
+            // Set up the current time as the start time for pinging on the 
correlation id. This is used to determine
+            // timeouts.
+            perCorrelationId.timeOutStart = System.nanoTime();
 
             // Send the specifed number of messages.
             pingNoWaitForReply(message, numPings, messageCorrelationId);
 
-            // Block the current thread until replies to all the message are 
received, or it times out.
-            trafficLight.await(timeout, TimeUnit.MILLISECONDS);
+            boolean timedOut = false;
+            boolean allMessagesReceived = false;
+            int numReplies = 0;
+
+            do
+            {
+                // Block the current thread until replies to all the messages 
are received, or it times out.
+                perCorrelationId.trafficLight.await(timeout, 
TimeUnit.MILLISECONDS);
+
+                // Work out how many replies were receieved.
+                numReplies = numPings - (int) 
perCorrelationId.trafficLight.getCount();
+                allMessagesReceived = numReplies >= numPings;
+
+                _logger.debug("numReplies = "+ numReplies);
+                _logger.debug("allMessagesReceived = "+ allMessagesReceived);
+
+                // Recheck the timeout condition.
+                long now = System.nanoTime();
+                long lastMessageReceievedAt = perCorrelationId.timeOutStart;
+                timedOut = (now - lastMessageReceievedAt) > (timeout * 
1000000);
 
-            // Work out how many replies were receieved.
-            int numReplies = numPings - (int) trafficLight.getCount();
+                _logger.debug("now = " + now);
+                _logger.debug("lastMessageReceievedAt = " + 
lastMessageReceievedAt);
+            }
+            while (!timedOut && !allMessagesReceived);
 
             if ((numReplies < numPings) && _verbose)
             {
@@ -757,7 +798,7 @@
         // so will be a memory leak if this is not done.
         finally
         {
-            trafficLights.remove(messageCorrelationId);
+            perCorrelationIds.remove(messageCorrelationId);
         }
     }
 
@@ -1147,5 +1188,18 @@
     public static interface ChainedMessageListener
     {
         public void onMessage(Message message, int remainingCount) throws 
JMSException;
+    }
+
+    /**
+     * Holds information on each correlation id. The countdown latch, the 
current timeout timer... More stuff to be
+     * added to this: read/write lock to make onMessage more concurrent as 
described in class header comment.
+     */
+    protected static class PerCorrelationId
+    {
+        /** Holds a countdown on number of expected messages. */
+        CountDownLatch trafficLight;
+
+        /** Holds the last timestamp that the timeout was reset to. */
+        Long timeOutStart;
     }
 }

Modified: 
incubator/qpid/branches/perftesting/qpid/java/perftests/src/test/java/org/apache/qpid/ping/PingAsyncTestPerf.java
URL: 
http://svn.apache.org/viewvc/incubator/qpid/branches/perftesting/qpid/java/perftests/src/test/java/org/apache/qpid/ping/PingAsyncTestPerf.java?view=diff&rev=502633&r1=502632&r2=502633
==============================================================================
--- 
incubator/qpid/branches/perftesting/qpid/java/perftests/src/test/java/org/apache/qpid/ping/PingAsyncTestPerf.java
 (original)
+++ 
incubator/qpid/branches/perftesting/qpid/java/perftests/src/test/java/org/apache/qpid/ping/PingAsyncTestPerf.java
 Fri Feb  2 07:42:57 2007
@@ -156,7 +156,7 @@
 
         // Attach the chained message listener to the ping producer to listen 
asynchronously for the replies to these
         // messages.
-        pingClient.setChainedMessageListener(batchedResultsListener);
+        //pingClient.setChainedMessageListener(batchedResultsListener);
 
         // Generate a sample message of the specified size.
         ObjectMessage msg =
@@ -166,7 +166,7 @@
 
         // Send the requested number of messages, and wait until they have all 
been received.
         long timeout = 
Long.parseLong(testParameters.getProperty(PingPongProducer.TIMEOUT_PROPNAME));
-        int numReplies = pingClient.pingAndWaitForReply(msg, numPings, 
timeout);
+        int numReplies = pingClient.pingAndWaitForReply(msg, numPings, 
timeout, messageCorrelationId);
 
         // Check that all the replies were received and log a fail if they 
were not.
         if (numReplies < numPings)
@@ -175,7 +175,7 @@
         }
 
         // Remove the chained message listener from the ping producer.
-        pingClient.removeChainedMessageListener();
+        //pingClient.removeChainedMessageListener();
 
         // Remove the expected count and timing controller for the message 
correlation id, to ensure they are cleaned up.
         perCorrelationIds.remove(messageCorrelationId);
@@ -250,13 +250,15 @@
          */
         public void onMessage(Message message, int remainingCount) throws 
JMSException
         {
-            _logger.debug("public void onMessage(Message message, int 
remainingCount = " + remainingCount + "): called");
-
             // Check if a batch boundary has been crossed.
             if ((remainingCount % _batchSize) == 0)
             {
                 // Extract the correlation id from the message.
                 String correlationId = message.getJMSCorrelationID();
+
+                _logger.debug("public void onMessage(Message message, int 
remainingCount = " + remainingCount +
+                              "): called on batch boundary for message id: "
+                              + correlationId + " with thread id: " + 
Thread.currentThread().getId());
 
                 // Get the details for the correlation id and check that they 
are not null. They can become null
                 // if a test times out.

Modified: 
incubator/qpid/branches/perftesting/qpid/java/perftests/src/test/java/org/apache/qpid/ping/PingTestPerf.java
URL: 
http://svn.apache.org/viewvc/incubator/qpid/branches/perftesting/qpid/java/perftests/src/test/java/org/apache/qpid/ping/PingTestPerf.java?view=diff&rev=502633&r1=502632&r2=502633
==============================================================================
--- 
incubator/qpid/branches/perftesting/qpid/java/perftests/src/test/java/org/apache/qpid/ping/PingTestPerf.java
 (original)
+++ 
incubator/qpid/branches/perftesting/qpid/java/perftests/src/test/java/org/apache/qpid/ping/PingTestPerf.java
 Fri Feb  2 07:42:57 2007
@@ -72,41 +72,40 @@
         super(name);
 
         // Sets up the test parameters with defaults.
-        
ParsedProperties.setSysPropertyIfNull(PingPongProducer.COMMIT_BATCH_SIZE_PROPNAME,
-                                              
Integer.toString(PingPongProducer.DEFAULT_TX_BATCH_SIZE));
-        
ParsedProperties.setSysPropertyIfNull(PingPongProducer.MESSAGE_SIZE_PROPNAME,
-                                              
Integer.toString(PingPongProducer.DEFAULT_MESSAGE_SIZE));
-        
ParsedProperties.setSysPropertyIfNull(PingPongProducer.PING_QUEUE_NAME_PROPNAME,
-                                              
PingPongProducer.DEFAULT_PING_DESTINATION_NAME);
-        
ParsedProperties.setSysPropertyIfNull(PingPongProducer.PERSISTENT_MODE_PROPNAME,
-                                              
Boolean.toString(PingPongProducer.DEFAULT_PERSISTENT_MODE));
-        
ParsedProperties.setSysPropertyIfNull(PingPongProducer.TRANSACTED_PROPNAME,
-                                              
Boolean.toString(PingPongProducer.DEFAULT_TRANSACTED));
-        
ParsedProperties.setSysPropertyIfNull(PingPongProducer.BROKER_PROPNAME, 
PingPongProducer.DEFAULT_BROKER);
-        
ParsedProperties.setSysPropertyIfNull(PingPongProducer.USERNAME_PROPNAME, 
PingPongProducer.DEFAULT_USERNAME);
-        
ParsedProperties.setSysPropertyIfNull(PingPongProducer.PASSWORD_PROPNAME, 
PingPongProducer.DEFAULT_PASSWORD);
-        
ParsedProperties.setSysPropertyIfNull(PingPongProducer.VIRTUAL_PATH_PROPNAME, 
PingPongProducer.DEFAULT_VIRTUAL_PATH);
-        
ParsedProperties.setSysPropertyIfNull(PingPongProducer.VERBOSE_OUTPUT_PROPNAME,
-                                              
Boolean.toString(PingPongProducer.DEFAULT_VERBOSE));
-        ParsedProperties.setSysPropertyIfNull(PingPongProducer.RATE_PROPNAME,
-                                              
Integer.toString(PingPongProducer.DEFAULT_RATE));
-        
ParsedProperties.setSysPropertyIfNull(PingPongProducer.IS_PUBSUB_PROPNAME,
-                                              
Boolean.toString(PingPongProducer.DEFAULT_PUBSUB));
-        
ParsedProperties.setSysPropertyIfNull(PingPongProducer.COMMIT_BATCH_SIZE_PROPNAME,
-                                              
Integer.toString(PingPongProducer.DEFAULT_TX_BATCH_SIZE));
-        
ParsedProperties.setSysPropertyIfNull(PingPongProducer.TIMEOUT_PROPNAME,
-                                              
Long.toString(PingPongProducer.DEFAULT_TIMEOUT));
-        
ParsedProperties.setSysPropertyIfNull(PingPongProducer.PING_DESTINATION_COUNT_PROPNAME,
-                                              
Integer.toString(PingPongProducer.DEFAULT_DESTINATION_COUNT));
-        
ParsedProperties.setSysPropertyIfNull(PingPongProducer.FAIL_AFTER_COMMIT_PROPNAME,
-                                              
PingPongProducer.DEFAULT_FAIL_AFTER_COMMIT);
-        
ParsedProperties.setSysPropertyIfNull(PingPongProducer.FAIL_BEFORE_COMMIT_PROPNAME,
-                                              
PingPongProducer.DEFAULT_FAIL_BEFORE_COMMIT);
-        
ParsedProperties.setSysPropertyIfNull(PingPongProducer.FAIL_AFTER_SEND_PROPNAME,
-                                              
PingPongProducer.DEFAULT_FAIL_AFTER_SEND);
-        
ParsedProperties.setSysPropertyIfNull(PingPongProducer.FAIL_BEFORE_SEND_PROPNAME,
-                                              
PingPongProducer.DEFAULT_FAIL_BEFORE_SEND);
-        
ParsedProperties.setSysPropertyIfNull(PingPongProducer.FAIL_ONCE_PROPNAME, 
PingPongProducer.DEFAULT_FAIL_ONCE);
+        
testParameters.setPropertyIfNull(PingPongProducer.COMMIT_BATCH_SIZE_PROPNAME,
+                                         
Integer.toString(PingPongProducer.DEFAULT_TX_BATCH_SIZE));
+        
testParameters.setPropertyIfNull(PingPongProducer.MESSAGE_SIZE_PROPNAME,
+                                         
Integer.toString(PingPongProducer.DEFAULT_MESSAGE_SIZE));
+        
testParameters.setPropertyIfNull(PingPongProducer.PING_QUEUE_NAME_PROPNAME,
+                                         
PingPongProducer.DEFAULT_PING_DESTINATION_NAME);
+        
testParameters.setPropertyIfNull(PingPongProducer.PERSISTENT_MODE_PROPNAME,
+                                         
Boolean.toString(PingPongProducer.DEFAULT_PERSISTENT_MODE));
+        testParameters.setPropertyIfNull(PingPongProducer.TRANSACTED_PROPNAME,
+                                         
Boolean.toString(PingPongProducer.DEFAULT_TRANSACTED));
+        testParameters.setPropertyIfNull(PingPongProducer.BROKER_PROPNAME, 
PingPongProducer.DEFAULT_BROKER);
+        testParameters.setPropertyIfNull(PingPongProducer.USERNAME_PROPNAME, 
PingPongProducer.DEFAULT_USERNAME);
+        testParameters.setPropertyIfNull(PingPongProducer.PASSWORD_PROPNAME, 
PingPongProducer.DEFAULT_PASSWORD);
+        
testParameters.setPropertyIfNull(PingPongProducer.VIRTUAL_PATH_PROPNAME, 
PingPongProducer.DEFAULT_VIRTUAL_PATH);
+        
testParameters.setPropertyIfNull(PingPongProducer.VERBOSE_OUTPUT_PROPNAME,
+                                         
Boolean.toString(PingPongProducer.DEFAULT_VERBOSE));
+        testParameters.setPropertyIfNull(PingPongProducer.RATE_PROPNAME, 
Integer.toString(PingPongProducer.DEFAULT_RATE));
+        testParameters.setPropertyIfNull(PingPongProducer.IS_PUBSUB_PROPNAME,
+                                         
Boolean.toString(PingPongProducer.DEFAULT_PUBSUB));
+        
testParameters.setPropertyIfNull(PingPongProducer.COMMIT_BATCH_SIZE_PROPNAME,
+                                         
Integer.toString(PingPongProducer.DEFAULT_TX_BATCH_SIZE));
+        testParameters.setPropertyIfNull(PingPongProducer.TIMEOUT_PROPNAME, 
Long.toString(PingPongProducer.DEFAULT_TIMEOUT));
+        
testParameters.setPropertyIfNull(PingPongProducer.PING_DESTINATION_COUNT_PROPNAME,
+                                         
Integer.toString(PingPongProducer.DEFAULT_DESTINATION_COUNT));
+        
testParameters.setPropertyIfNull(PingPongProducer.FAIL_AFTER_COMMIT_PROPNAME,
+                                         
PingPongProducer.DEFAULT_FAIL_AFTER_COMMIT);
+        
testParameters.setPropertyIfNull(PingPongProducer.FAIL_BEFORE_COMMIT_PROPNAME,
+                                         
PingPongProducer.DEFAULT_FAIL_BEFORE_COMMIT);
+        
testParameters.setPropertyIfNull(PingPongProducer.FAIL_AFTER_SEND_PROPNAME,
+                                         
PingPongProducer.DEFAULT_FAIL_AFTER_SEND);
+        
testParameters.setPropertyIfNull(PingPongProducer.FAIL_BEFORE_SEND_PROPNAME,
+                                         
PingPongProducer.DEFAULT_FAIL_BEFORE_SEND);
+        testParameters.setPropertyIfNull(PingPongProducer.FAIL_ONCE_PROPNAME, 
PingPongProducer.DEFAULT_FAIL_ONCE);
+        testParameters.setPropertyIfNull(PingPongProducer.UNIQUE_PROPNAME, 
PingPongProducer.DEFAULT_UNIQUE);
     }
 
     /**
@@ -125,11 +124,17 @@
 
     public void testPingOk(int numPings) throws Exception
     {
+        if (numPings == 0)
+        {
+            Assert.fail("Number of pings requested was zero.");
+        }
+
         // Get the per thread test setup to run the test through.
         PerThreadSetup perThreadSetup = threadSetup.get();
-        if (numPings == 0)
+
+        if (perThreadSetup == null)
         {
-            _logger.error("Number of pings requested was zero.");
+            Assert.fail("Could not get per thread test setup, it was null.");
         }
 
         // Generate a sample message. This message is already time stamped and 
has its reply-to destination set.
@@ -182,6 +187,7 @@
             boolean failBeforeSend = 
testParameters.getPropertyAsBoolean(PingPongProducer.FAIL_BEFORE_SEND_PROPNAME);
             int batchSize = 
testParameters.getPropertyAsInteger(PingPongProducer.COMMIT_BATCH_SIZE_PROPNAME);
             Boolean failOnce = 
testParameters.getPropertyAsBoolean(PingPongProducer.FAIL_ONCE_PROPNAME);
+            boolean unique = 
testParameters.getPropertyAsBoolean(PingPongProducer.UNIQUE_PROPNAME);
 
             // Extract the test set up paramaeters.
             int destinationscount =
@@ -195,7 +201,7 @@
                 perThreadSetup._pingClient = new PingClient(brokerDetails, 
username, password, virtualPath, destinationName,
                                                             selector, 
transacted, persistent, messageSize, verbose,
                                                             failAfterCommit, 
failBeforeCommit, failAfterSend, failBeforeSend,
-                                                            failOnce, 
batchSize, destinationscount, rate, pubsub);
+                                                            failOnce, 
batchSize, destinationscount, rate, pubsub, unique);
             }
             // Start the client connection
             perThreadSetup._pingClient.getConnection().start();
@@ -224,7 +230,10 @@
             // Close the pingers so that it cleans up its connection cleanly.
             synchronized (this)
             {
-                perThreadSetup._pingClient.close();
+                if ((perThreadSetup != null) && (perThreadSetup._pingClient != 
null))
+                {
+                    perThreadSetup._pingClient.close();
+                }
             }
 
             // Ensure the per thread fixture is reclaimed.

Modified: 
incubator/qpid/branches/perftesting/qpid/java/perftests/src/test/java/org/apache/qpid/requestreply/PingPongTestPerf.java
URL: 
http://svn.apache.org/viewvc/incubator/qpid/branches/perftesting/qpid/java/perftests/src/test/java/org/apache/qpid/requestreply/PingPongTestPerf.java?view=diff&rev=502633&r1=502632&r2=502633
==============================================================================
--- 
incubator/qpid/branches/perftesting/qpid/java/perftests/src/test/java/org/apache/qpid/requestreply/PingPongTestPerf.java
 (original)
+++ 
incubator/qpid/branches/perftesting/qpid/java/perftests/src/test/java/org/apache/qpid/requestreply/PingPongTestPerf.java
 Fri Feb  2 07:42:57 2007
@@ -110,6 +110,7 @@
         
ParsedProperties.setSysPropertyIfNull(PingPongProducer.FAIL_BEFORE_SEND_PROPNAME,
                                               
PingPongProducer.DEFAULT_FAIL_BEFORE_SEND);
         
ParsedProperties.setSysPropertyIfNull(PingPongProducer.FAIL_ONCE_PROPNAME, 
PingPongProducer.DEFAULT_FAIL_ONCE);
+        
ParsedProperties.setSysPropertyIfNull(PingPongProducer.UNIQUE_PROPNAME, 
Boolean.toString(PingPongProducer.DEFAULT_UNIQUE));
     }
 
     /**
@@ -186,6 +187,7 @@
             boolean failBeforeSend = 
testParameters.getPropertyAsBoolean(PingPongProducer.FAIL_BEFORE_SEND_PROPNAME);
             int batchSize = 
testParameters.getPropertyAsInteger(PingPongProducer.COMMIT_BATCH_SIZE_PROPNAME);
             Boolean failOnce = 
testParameters.getPropertyAsBoolean(PingPongProducer.FAIL_ONCE_PROPNAME);
+            boolean unique = 
testParameters.getPropertyAsBoolean(PingPongProducer.UNIQUE_PROPNAME);
 
             synchronized (this)
             {
@@ -203,7 +205,7 @@
                                                                         
destinationName, selector, transacted, persistent,
                                                                         
messageSize, verbose, failAfterCommit,
                                                                         
failBeforeCommit, failAfterSend, failBeforeSend,
-                                                                        
failOnce, batchSize, 0, rate, pubsub);
+                                                                        
failOnce, batchSize, 0, rate, pubsub, unique);
                 perThreadSetup._testPingProducer.getConnection().start();
             }
 


Reply via email to