Java 获取JMeterException:调用bsh方法时出错:未定义参数:saa。使用beanshell取样器时

Java 获取JMeterException:调用bsh方法时出错:未定义参数:saa。使用beanshell取样器时,java,Java,我正在使用下面的java代码连接到redis并执行某些活动我在响应中获得了所需的值,但我的beanshell正在响应下面的响应消息: ERROR-jmeter.util.BeanShellInterpreter:调用bsh方法时出错:eval源文件:内联计算:``import java.io.InputStream;导入java.text.ParseException;导入redis.cli…“”:未定义参数:saa WARN-jmeter.protocol.java.sampler.BeanS

我正在使用下面的java代码连接到redis并执行某些活动我在响应中获得了所需的值,但我的beanshell正在响应下面的响应消息:

ERROR-jmeter.util.BeanShellInterpreter:调用bsh方法时出错:eval源文件:内联计算:``import java.io.InputStream;导入java.text.ParseException;导入redis.cli…“”:未定义参数:saa

WARN-jmeter.protocol.java.sampler.BeanShellSampler:org.apache.jorphan.util.JMeterException:调用bsh方法时出错:eval源文件:内联求值:``import java.io.InputStream;导入java.text.ParseException;导入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;
}
import java.io.InputStream;
导入java.text.ParseException;
导入redis.clients.jedis.jedis;
导入com.jcraft.jsch.Channel;
导入com.jcraft.jsch.ChannelExec;
导入com.jcraft.jsch.jsch;
导入com.jcraft.jsch.Session;
String host=“ssh.journaldev.com”;
字符串user=“sshuser”;
字符串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}”;
整数j=0;
试一试{
java.util.Properties config=new java.util.Properties();
配置放置(“检查”、“否”);
JSch JSch=新的JSch();
Session Session=jsch.getSession(“${VSBServUsernme}”,“${IP}”,22);
session.setPassword(“${VSBServPassword}”);
session.setConfig(config);
session.connect();
System.out.println(“已连接”);
Channel=session.openChannel(“exec”);
((ChannelExec)channel.setCommand(command1);
channel.setInputStream(空);
((ChannelExec)channel.setErrStream(System.err);
InputStream in=channel.getInputStream();
channel.connect();
字节[]tmp=新字节[1024];
while(true){
while(in.available()>0){
inti=in.read(tmp,0,1024);
if(i<0)
打破
字符串sa=新字符串(tmp,0,i);
字符串saa=sa.substring(110).substring(0,3);
系统输出打印(“打印sa”+saa);
//j=整数。值(sa);
/*
*尝试{j=Integer.parseInt(sa);}catch(异常e){
*e.printStackTrace();}
*System.out.println(“打印j”+j);
*/
绝地武士=新绝地武士(${IP},${RedisPort2});
jedis.auth(${masterauthKey});
System.out.println(“成功连接到服务器”);
//检查服务器是否正在运行
System.out.println(“服务器正在运行:+jedis.ping());
/*
*绝地武士萨德(“尼塔”,“200”);
*System.out.println(绝地武士史密伯斯(“neeta”);
*/
System.out.println(jedis.select(Integer.parseInt(saa));
系统输出打印LN(jedis.hget(
“sm:{${vin}}:州”、“cst”);
字符串k=绝地武士
.hget(“sm:{${vin}}:状态”,“cst”);
系统输出println(k);
变量put(“存储值”,k);
采样器结果设定响应数据(k);
}
if(channel.isClosed()){
System.out.println(“退出状态:”
+channel.getExitStatus());
打破
}
/*试一试{
睡眠(1000);
}捕获(异常ee){
}*/
}
通道断开();
session.disconnect();
系统输出打印项次(“完成”);
}捕获(例外e){
e、 printStackTrace();
/*
*InputStream in=channel.getInputStream();字节[]tmp=新字节[1024];
*inti=in.read(tmp,0,1024);
*/
int j=0;
试一试{
j=整数.parseInt(saa);
系统输出println(j);
}捕获(例外e){
e、 printStackTrace();
}
返回j;
}
任何帮助都将不胜感激