diff options
| author | Rajith Muditha Attapattu <rajith@apache.org> | 2007-11-20 22:25:12 +0000 |
|---|---|---|
| committer | Rajith Muditha Attapattu <rajith@apache.org> | 2007-11-20 22:25:12 +0000 |
| commit | 118dd41c03ddc12f603439b122a3ab80af450a89 (patch) | |
| tree | af5c368b81f78d760c471b95833f2fb16ddc8363 /java | |
| parent | 111f14e70bdd91ed2214e7695efc99ecdd4e0d10 (diff) | |
| download | qpid-python-118dd41c03ddc12f603439b122a3ab80af450a89.tar.gz | |
Added a jvm option verify message order
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@596850 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java')
3 files changed, 20 insertions, 6 deletions
diff --git a/java/perftests/src/main/java/org/apache/qpid/client/perf/JMSAsyncConsumer.java b/java/perftests/src/main/java/org/apache/qpid/client/perf/JMSAsyncConsumer.java index 111b43dfb9..f0d10ec144 100644 --- a/java/perftests/src/main/java/org/apache/qpid/client/perf/JMSAsyncConsumer.java +++ b/java/perftests/src/main/java/org/apache/qpid/client/perf/JMSAsyncConsumer.java @@ -5,9 +5,9 @@ * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY @@ -40,6 +40,7 @@ public class JMSAsyncConsumer implements MessageListener, JMSConsumer private int _ackMode = Session.AUTO_ACKNOWLEDGE; private AtomicBoolean _run = new AtomicBoolean(true); private long _currentMsgCount; + private boolean _verifyOrder = false; /* Not implementing transactions for first phase */ public JMSAsyncConsumer(String id,Connection connection, Destination destination,boolean transacted,int ackMode) throws Exception @@ -52,18 +53,31 @@ public class JMSAsyncConsumer implements MessageListener, JMSConsumer _session = _connection.createSession(_transacted, _ackMode); _consumer = _session.createConsumer(_destination); _consumer.setMessageListener(this); + _verifyOrder = Boolean.getBoolean("verifyOrder"); } public void onMessage(Message message) { - _currentMsgCount ++; + try + { + long msgId = Integer.parseInt(message.getJMSCorrelationID()); + if (_verifyOrder && _currentMsgCount+1 != msgId) + { + _logger.error("Error : Message received out of order in JMSSyncConsumer:" + _id + " message id was " + msgId + " expected: " + _currentMsgCount+1); + } + _currentMsgCount ++; + } + catch(Exception e) + { + e.printStackTrace(); + } } public void stopConsuming() { - System.out.println("Producer received notification to stop"); + System.out.println("Consumer received notification to stop"); try { _session.close(); diff --git a/java/perftests/src/main/java/org/apache/qpid/client/perf/JMSSyncConsumer.java b/java/perftests/src/main/java/org/apache/qpid/client/perf/JMSSyncConsumer.java index 5fd103746b..b320f3cdfc 100644 --- a/java/perftests/src/main/java/org/apache/qpid/client/perf/JMSSyncConsumer.java +++ b/java/perftests/src/main/java/org/apache/qpid/client/perf/JMSSyncConsumer.java @@ -83,7 +83,7 @@ public class JMSSyncConsumer implements Runnable, JMSConsumer public void stopConsuming() { _run.set(false); - System.out.println("Producer received notification to stop"); + System.out.println("Consumer received notification to stop"); } public String getId() diff --git a/java/perftests/src/main/java/org/apache/qpid/client/perf/Options.java b/java/perftests/src/main/java/org/apache/qpid/client/perf/Options.java index 0ff420bf75..7fddbbeeb7 100644 --- a/java/perftests/src/main/java/org/apache/qpid/client/perf/Options.java +++ b/java/perftests/src/main/java/org/apache/qpid/client/perf/Options.java @@ -26,7 +26,7 @@ public class Options public void parseOptions() { _messageSize = Integer.parseInt(System.getProperty("messageSize","100")); - _synchronous =Boolean.parseBoolean( System.getProperty("synchronous", "false")); + _synchronous = Boolean.parseBoolean( System.getProperty("synchronous", "false")); _transacted = false; String destinations = System.getProperty("destinations"); destArray = destinations.split(","); |
