sebb 2003/11/11 06:24:01
Modified: src/protocol/java/org/apache/jmeter/protocol/java/sampler
BeanShellSampler.java
Log:
Handle missing BeanShell jar gracefully
Revision Changes Path
1.3 +23 -6
jakarta-jmeter/src/protocol/java/org/apache/jmeter/protocol/java/sampler/BeanShellSampler.java
Index: BeanShellSampler.java
===================================================================
RCS file:
/home/cvs/jakarta-jmeter/src/protocol/java/org/apache/jmeter/protocol/java/sampler/BeanShellSampler.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- BeanShellSampler.java 6 Nov 2003 00:28:46 -0000 1.2
+++ BeanShellSampler.java 11 Nov 2003 14:24:01 -0000 1.3
@@ -57,7 +57,7 @@
import java.io.IOException;
-import bsh.EvalError;
+//import bsh.EvalError;
import bsh.Interpreter;
import org.apache.jmeter.samplers.AbstractSampler;
@@ -134,7 +134,7 @@
} else {
res.setSamplerData(fileName);
}
-
+
//TODO - set some more variables?
bshInterpreter.set("Label",getLabel());
bshInterpreter.set("FileName",getFilename());
@@ -168,15 +168,32 @@
isSuccessful = Boolean.valueOf(bshInterpreter.get("IsSuccess")
//$NON-NLS-1$
.toString()).booleanValue();
}
- catch (EvalError ex)
+/*
+ * To avoid class loading problems when bsh,jar is missing,
+ * we don't try to catch this error separately
+ * catch (bsh.EvalError ex)
{
log.debug("",ex);
res.setResponseCode("500");//$NON-NLS-1$
res.setResponseMessage(ex.toString());
- }
+ }
+ */
+ // but we do trap this error to make tests work better
+ catch(NoClassDefFoundError ex){
+ log.error("BeanShell Jar missing? "+ex.toString());
+ res.setResponseCode("501");//$NON-NLS-1$
+ res.setResponseMessage(ex.toString());
+ res.setStopThread(true); // No point continuing
+ }
catch (IOException ex)
{
- log.debug("",ex);
+ log.warn(ex.toString());
+ res.setResponseCode("500");//$NON-NLS-1$
+ res.setResponseMessage(ex.toString());
+ }
+ catch (Exception ex) // Mainly for bsh.EvalError
+ {
+ log.warn(ex.toString());
res.setResponseCode("500");//$NON-NLS-1$
res.setResponseMessage(ex.toString());
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]