diff options
Diffstat (limited to 'java/perftests/src/main')
| -rw-r--r-- | java/perftests/src/main/java/org/apache/qpid/requestreply/PingPongProducer.java | 13 |
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();
|
