2016-12-15 1 views
2

나는 오류 메시지가Beanshell PostProcessor 오류 : bsh 메서드 호출 오류 : eval t 소스 파일 : 인라인 평가 : "import java.util.Arrays; import java.util.List; 내가으로 Beanshell 포스트 프로세서와 JMeter가 스크립트를 실행할 때

Error invoking bsh method: eval Sourced file: inline evaluation of: ``import java.util.Arrays; import java.util.List; import java.util.concurrent.Time . . . '' : Typed variable declaration : Error in method invocation: Static method create(java.lang.String) not found in class'com.couchbase.client.java.CouchbaseCluster'

을 얻고있다. 왜 내가이 오류를보고 있는지에 대한 생각은 없습니까?

다음은 샘플 코드입니다. import java.util.Arrays; 대신 create(String... varargs) 방법을 사용

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

하여 JMeter 버전은 무엇입니까? couchbase-client-java jars는 어디에 보관 했습니까? '/ lib' 폴더에 있습니까? 모든 도서관에서 필요한 것? –

+0

2.11을 사용하고 있습니다. lib 폴더에 보관했습니다 – kmn

+0

모든 라이브러리에 필요한 라이브러리 및 링크를 다운로드 해주세요. –

답변

0

create(List<String> nodes) 방법으로 제안한다.

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

참고 :

는 다음과 같은 코드를

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

을 대체 내가 너무 다른 하나를 제안, varargs에 관련된 문제를 해결하는 방법을 잘 모르겠습니다. 제안 된 방법을 here 시도했지만 varargs 작동하지 않았다.

참조 :

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

내가 대신 BeanShell postprocessorJSR223 Post Processor을 사용하는 것이 좋습니다. 코드를 복사하여 BeanShell에서 JSR223으로 붙여 넣은 다음 JSR223 post processor에있는 script language 드롭 다운에서 Java으로 언어를 선택하십시오.

이렇게하면 디버깅 유연성이 향상됩니다 (로그에서 오류/예외의 전체 스택 추적을 인쇄합니다).


오류가 발생하면 Static method create(java.lang.String) not found in class'com.couchbase.client.java.CouchbaseCluster이 표시됩니다. 나는 공식 문서 here을 확인했는데 create 방법이 있으며 String Varargs이 걸린다고합니다. 그것이 문제의 원인인지 여부는 확실하지 않습니다. 그래서 JSR223 PostProcessor에서 시험해보고 문제를 디버그하십시오.

참고 :

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

.. JSR223 포스트 프로세서에서 시도하고 문제를 디버그하자. – kmn

+0

@kmm, 내 대답이 업데이트되었습니다. CouchbaseCluster 클래스에서도 사용할 수있는'create (List nodes)'메소드를 사용해보십시오. 이 접근법은 나를 위해 일하고있다. –

+0

고맙습니다.JSR223 Pre Processor를 사용하고 사용자 의견에 따라 코드를 업데이트했습니다. – kmn

관련 문제