diff options
| author | Martin Ritchie <ritchiem@apache.org> | 2007-01-25 13:08:05 +0000 |
|---|---|---|
| committer | Martin Ritchie <ritchiem@apache.org> | 2007-01-25 13:08:05 +0000 |
| commit | 6d8a98237757a2520417a26c237943b6bfdb0c95 (patch) | |
| tree | adffee8cebb0d381650b4357ea10305e41a0410c /java/perftests/src/main | |
| parent | 9110595d00ef21801fe19a099a3e273802ee72e9 (diff) | |
| download | qpid-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.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();
|
