summaryrefslogtreecommitdiff
path: root/java/perftests/src/main
diff options
context:
space:
mode:
authorMartin Ritchie <ritchiem@apache.org>2007-01-25 13:08:05 +0000
committerMartin Ritchie <ritchiem@apache.org>2007-01-25 13:08:05 +0000
commit6d8a98237757a2520417a26c237943b6bfdb0c95 (patch)
treeadffee8cebb0d381650b4357ea10305e41a0410c /java/perftests/src/main
parent9110595d00ef21801fe19a099a3e273802ee72e9 (diff)
downloadqpid-python-6d8a98237757a2520417a26c237943b6bfdb0c95.tar.gz
Fixed race condition that would cause duplicate batch data to be logged.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@499781 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/perftests/src/main')
-rw-r--r--java/perftests/src/main/java/org/apache/qpid/requestreply/PingPongProducer.java13
1 files changed, 11 insertions, 2 deletions
diff --git a/java/perftests/src/main/java/org/apache/qpid/requestreply/PingPongProducer.java b/java/perftests/src/main/java/org/apache/qpid/requestreply/PingPongProducer.java
index 1368f631fb..263e62cf04 100644
--- a/java/perftests/src/main/java/org/apache/qpid/requestreply/PingPongProducer.java
+++ b/java/perftests/src/main/java/org/apache/qpid/requestreply/PingPongProducer.java
@@ -505,8 +505,10 @@ public class PingPongProducer extends AbstractPingProducer implements Runnable,
*/
public void onMessage(Message message)
{
+
try
{
+
// Store the reply, if it has a correlation id that is expected.
String correlationID = message.getJMSCorrelationID();
@@ -523,11 +525,18 @@ public class PingPongProducer extends AbstractPingProducer implements Runnable,
{
if (_messageListener != null)
{
- _messageListener.onMessage(message);
+ synchronized (trafficLight)
+ {
+ _messageListener.onMessage(message);
+ trafficLight.countDown();
+ }
+ }
+ else
+ {
+ trafficLight.countDown();
}
_logger.trace("Reply was expected, decrementing the latch for the id.");
- trafficLight.countDown();
long remainingCount = trafficLight.getCount();