You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jmeter.apache.org by pm...@apache.org on 2017/11/27 18:18:01 UTC

svn commit: r1816483 - /jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/JMSSampler.java

Author: pmouawad
Date: Mon Nov 27 18:18:01 2017
New Revision: 1816483

URL: http://svn.apache.org/viewvc?rev=1816483&view=rev
Log:
Bug 61544 : JMS Point-to-Point Sampler: Enhance communication styles with read, browse, clear
Fix response message erased, hiding potential interesting information.
Fix issue when timeout is empty, "" value will be used instead of default value leading to error
Bugzilla Id: 61544

Modified:
    jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/JMSSampler.java

Modified: jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/JMSSampler.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/JMSSampler.java?rev=1816483&r1=1816482&r2=1816483&view=diff
==============================================================================
--- jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/JMSSampler.java (original)
+++ jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/JMSSampler.java Mon Nov 27 18:18:01 2017
@@ -276,17 +276,18 @@ public class JMSSampler extends Abstract
             sampleTries++;
         } while ((result != null) && (sampleTries < getNumberOfSamplesToAggregateAsInt()));
 
-        res.setResponseMessage(sampleCounter + " samples messages received");
         res.setResponseData(buffer.toString(), StandardCharsets.UTF_8.name());
         res.setResponseHeaders(propBuffer.toString());
         if (sampleCounter == 0) {
-            res.setResponseCode("404");
             res.setSuccessful(false);
+            res.setResponseCode("404");
+            res.setResponseMessage(sampleCounter + " samples messages received, last try had following response message:"+
+                    res.getResponseMessage());
         } else {
-            res.setResponseCodeOK();
             res.setSuccessful(true);
+            res.setResponseCodeOK();
+            res.setResponseMessage(sampleCounter + " message(s) received successfully");
         }
-        res.setResponseMessage(sampleCounter + " message(s) received successfully");
         res.setSamplerData(getNumberOfSamplesToAggregateAsInt() + " messages expected");
         res.setSampleCount(sampleCounter);
     }
@@ -327,10 +328,10 @@ public class JMSSampler extends Abstract
         try {
             queueName = queue.getQueueName();
             consumer = session.createReceiver(queue, jmsSelector);
-            reply = consumer.receive(Long.valueOf(getTimeout()));
+            reply = consumer.receive(getTimeoutAsInt());
             LOGGER.debug("Message: {}", reply);
             if (reply != null) {
-                res.setResponseMessage("1 message(s) received successfully");
+                res.setResponseMessage("1 message received successfully");
                 res.setResponseHeaders(reply.toString());
                 TextMessage msg = (TextMessage) reply;
                 retVal = msg.getText();
@@ -339,9 +340,10 @@ public class JMSSampler extends Abstract
                 res.setResponseMessage("No message received");
             }
         } catch (Exception ex) {
-            res.setResponseMessage("Error browsing queue "+queueName+" with selector "
-                    + jmsSelector+ ", message:"+ex.getMessage());
-            LOGGER.error("Error browsing queue {} with selector {}", queueName, jmsSelector, ex);
+            res.setResponseMessage("Error browsing queue '"+queueName+"' with selector '"
+                    + jmsSelector+ "', timeout '"+getTimeout()+"', message:"+ex.getMessage());
+            LOGGER.error("Error browsing queue {} with selector {} and configured timeout {}", queueName, jmsSelector, 
+                    getTimeout(), ex);
         } finally {
             Utils.close(consumer, LOGGER);
         }