当前位置: 首页 > 知识库问答 >
问题:

BeanShell Post处理器错误:调用bsh方法的错误:ava源文件:内联计算:"导入java.util.数组;导入java.util.列表;

连翰
2023-03-14

我收到错误信息

调用bsh方法时出错:eval源文件:内联计算:``导入java。util。阵列;导入java。util。列表导入java。util。同时发生的时间…'':类型化变量声明:方法调用错误:在类的com中找不到静态方法创建(java.lang.String)。沙发床。客户JAVACouchbaseCluster'

当我使用Beanshell后处理器执行jmeter脚本时。有没有想过为什么我会看到这个错误?

下面是示例代码:importjava。util。阵列;

import java.util.List;
import java.util.concurrent.TimeUnit;

import com.couchbase.client.java.Bucket;
import com.couchbase.client.java.Cluster;
import com.couchbase.client.java.CouchbaseCluster;
import com.couchbase.client.java.document.Document;
import com.couchbase.client.java.document.JsonDocument;
import com.couchbase.client.java.document.json.JsonObject;

Cluster cluster = CouchbaseCluster.create("dev-int-couchbase1.aeg.cloud");
Bucket bucket = cluster.openBucket("source-image ",100, TimeUnit.MINUTES);
Document<JsonObject> loadedFromDoc = bucket.get("0292ofcfh4516");
if(loadedFromDoc == null)
    return "Document Not found";

bucket.remove(“0292ofcfh4516");
log.info("In bean shell processor");
System.out.println("In bean shell processor");
cluster.disconnect();
return "Document Removed";

共有1个答案

谢泽语
2023-03-14

不要使用create(String…varargs)方法,建议使用create(List

替换以下代码

Cluster cluster = CouchbaseCluster.create("dev-int-couchbase1.aeg.cloud");

与:

nodes = new ArrayList();
nodes.add("dev-int-couchbase1.aeg.cloud");
Cluster cluster = CouchbaseCluster.create(nodes);

注意:我不确定如何修复与varargs相关的问题,所以建议另一个。我尝试了这里建议的方法,但不适用于varargs。

参考:

  1. http://docs.couchbase.com/sdk-api/couchbase-java-client-2.0.0/index.html?com/couchbase/client/java/CouchbaseCluster.html

我建议使用JSR223后处理器,而不是BeanShell后处理器。只需复制粘贴代码从BeanShellJSR223,并在JSR223后处理器中可用的脚本语言下拉列表下选择语言为Java

这为调试提供了更大的灵活性(在日志中打印错误/异常的完整堆栈跟踪)。

说到错误,它说在类com中找不到静态方法create(java.lang.String)。沙发床。客户JAVACouchbaseCluster。我在这里查看了官方文档,上面说有一个create方法,它接受String Varargs。我不确定这是否是问题的根源。因此,请在JSR223后处理器中尝试并调试该问题。

参考资料:

  1. https://www.blazemeter.com/blog/beanshell-vs-jsr223-vs-java-jmeter-scripting-its-performance

 类似资料: