summaryrefslogtreecommitdiff
path: root/java/perftests/src/main
diff options
context:
space:
mode:
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();