java获取JMeterException:调用bsh方法时出错:未定义参数:saa。使用beanshell取样器时
我正在使用下面的java代码连接到redis并执行某些活动,我在响应中获得了所需的值,但我的beanshell正在用下面的响应消息进行响应:
错误-jmeter。util。BeanShellInterpreter:调用bsh方法时出错:eval源文件:内联计算:`import java。伊奥。输入流;导入java。文本语法异常;导入redis。cli…'':未定义参数:saa
警告-jmeter。协议JAVA采样器豆沙采样器:org。阿帕奇。乔芬。util。JMeterException:调用bsh方法时出错:eval源文件:内联计算:`import java。伊奥。输入流;导入java。文本语法异常;导入redis。cli…'':未定义参数:saa
请查找以下代码以供参考
import java.io.InputStream;
import java.text.ParseException;
import redis.clients.jedis.Jedis;
import com.jcraft.jsch.Channel;
import com.jcraft.jsch.ChannelExec;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.Session;
String host = "ssh.journaldev.com";
String user = "sshuser";
String password = "sshpwd";
String command1 = "${ShardUtiLoc} && java -jar vsb-shardutility.jar -h ${IP} -p ${RedisPort1} -a ${masterauthKey} -m sm:lite -k ${vin}";
//String command1 = "${ShardUtiLoc} && ${ShrdUtilJarRunCmd}${vin}";
Integer j = 0;
try {
java.util.Properties config = new java.util.Properties();
config.put("StrictHostKeyChecking", "no");
JSch jsch = new JSch();
Session session = jsch.getSession("${VSBServUsernme}", "${IP}", 22);
session.setPassword("${VSBServPassword}");
session.setConfig(config);
session.connect();
System.out.println("Connected");
Channel channel = session.openChannel("exec");
((ChannelExec) channel).setCommand(command1);
channel.setInputStream(null);
((ChannelExec) channel).setErrStream(System.err);
InputStream in = channel.getInputStream();
channel.connect();
byte[] tmp = new byte[1024];
while (true) {
while (in.available() > 0) {
int i = in.read(tmp, 0, 1024);
if (i < 0)
break;
String sa = new String(tmp, 0, i);
String saa = sa.substring(110).substring(0,3);
System.out.print("printing sa " + saa);
// j = Integer.valueOf(sa);
/*
* try{ j=Integer.parseInt(sa); } catch(Exception e) {
* e.printStackTrace(); }
* System.out.println("printing j "+j);
*/
Jedis jedis = new Jedis("${IP}", ${RedisPort2});
jedis.auth("${masterauthKey}");
System.out.println("Connection to server sucessfully");
// check whether server is running or not
System.out.println("Server is running: " + jedis.ping());
/*
* jedis.sadd("neeta", "200");
* System.out.println(jedis.smembers("neeta"));
*/
System.out.println(jedis.select(Integer.parseInt(saa)));
System.out.println(jedis.hget(
"sm:{${vin}}:state", "cst"));
String k = jedis
.hget("sm:{${vin}}:state", "cst");
System.out.println(k);
vars.put("storedValue",k);
SampleResult.setResponseData(k);
}
if (channel.isClosed()) {
System.out.println("exit-status: "
+ channel.getExitStatus());
break;
}
/*try {
Thread.sleep(1000);
} catch (Exception ee) {
}*/
}
channel.disconnect();
session.disconnect();
System.out.println("DONE");
} catch (Exception e) {
e.printStackTrace();
/*
* InputStream in=channel.getInputStream(); byte[] tmp=new byte[1024];
* int i=in.read(tmp, 0, 1024);
*/
int j = 0;
try {
j = Integer.parseInt(saa);
System.out.println(j);
} catch (Exception e) {
e.printStackTrace();
}
return j;
}
任何帮助都将不胜感激
共 (0) 个答案