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();
}