From 6d8a98237757a2520417a26c237943b6bfdb0c95 Mon Sep 17 00:00:00 2001 From: Martin Ritchie Date: Thu, 25 Jan 2007 13:08:05 +0000 Subject: 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 --- .../java/org/apache/qpid/requestreply/PingPongProducer.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'java/perftests/src/main') 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(); -- cgit v1.2.1