我收到错误消息
调用bsh方法时出错:eval源文件:内联评估: ``import java.util.Arrays; import java.util.List;进口 java.util.concurrent.Time。 。 。 '':输入变量声明: 方法调用出错:静态方法create(java.lang.String) 在class'com.couchbase.client.java.CouchbaseCluster'
中找不到
当我使用Beanshell Post Processor执行jmeter脚本时。我为什么看到这个错误的想法?
以下是示例代码: import java.util.Arrays;
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";
答案 0 :(得分:1)
建议使用create(String... varargs)
方法,而不是使用create(List<String> nodes)
方法。
替换以下代码
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
相关的问题,因此建议另一个问题。我尝试了建议的方法here,但不适用于varargs
。
参考:
我建议使用JSR223 Post Processor代替BeanShell postprocessor
。只需将代码从BeanShell
复制粘贴到JSR223
,然后在Java
下的script language
下拉菜单中选择JSR223 post processor
语言。
这为调试提供了更大的灵活性(在日志中打印错误/异常的完整堆栈跟踪)。
出现错误,它说Static method create( java.lang.String ) not found in class'com.couchbase.client.java.CouchbaseCluster
。我查看了官方文档here,其中说create
方法需要String Varargs
。我不确定是否会导致这个问题。所以,在JSR223 PostProcessor中试试并调试问题。
参考文献: