You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@jakarta.apache.org by se...@apache.org on 2010/04/26 15:09:10 UTC
svn commit: r938030 -
/jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/JMSSampler.java
Author: sebb
Date: Mon Apr 26 13:09:10 2010
New Revision: 938030
URL: http://svn.apache.org/viewvc?rev=938030&view=rev
Log:
Better handling of errors
Modified:
jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/JMSSampler.java
Modified: jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/JMSSampler.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/JMSSampler.java?rev=938030&r1=938029&r2=938030&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/JMSSampler.java (original)
+++ jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/JMSSampler.java Mon Apr 26 13:09:10 2010
@@ -121,6 +121,8 @@ public class JMSSampler extends Abstract
private transient Receiver receiverThread = null;
+ private transient Throwable thrown = null;
+
/**
* {@inheritDoc}
*/
@@ -146,21 +148,23 @@ public class JMSSampler extends Abstract
Message replyMsg = executor.sendAndReceive(msg);
if (replyMsg == null) {
res.setSuccessful(false);
- if (LOGGER.isDebugEnabled()) {
- LOGGER.debug("No reply message received");
- }
+ res.setResponseMessage("No reply message received");
} else {
if (replyMsg instanceof TextMessage) {
res.setResponseData(((TextMessage) replyMsg).getText(), null);
} else {
res.setResponseData(replyMsg.toString(), null);
}
- res.setSuccessful(true);
+ res.setResponseOK();
}
}
} catch (Exception e) {
LOGGER.warn(e.getLocalizedMessage(), e);
- res.setResponseData(new byte[0]);
+ if (thrown != null){
+ res.setResponseMessage(thrown.toString());
+ } else {
+ res.setResponseMessage(e.getLocalizedMessage());
+ }
res.setSuccessful(false);
}
res.sampleEnd();
@@ -290,6 +294,7 @@ public class JMSSampler extends Abstract
logThreadStart();
Context context = null;
+ thrown = null;
try {
context = getInitialContext();
Object obj = context.lookup(getQueueConnectionFactory());
@@ -352,10 +357,12 @@ public class JMSSampler extends Abstract
if (LOGGER.isDebugEnabled()) {
LOGGER.debug("Connection started");
}
- } catch (JMSException e) {
- LOGGER.warn(e.getLocalizedMessage(), e);
- } catch (NamingException e) {
- LOGGER.warn(e.getLocalizedMessage(), e);
+ } catch (Exception e) {
+ thrown = e;
+ LOGGER.error(e.getLocalizedMessage(), e);
+ } catch (NoClassDefFoundError e) {
+ thrown = e;
+ LOGGER.error(e.getLocalizedMessage(), e);
} finally {
if (context != null) {
try {