groovy 无法解析类

3z6pesqy  于 2023-10-15  发布在  其他
关注(0)|答案(1)|浏览(121)

我想使用JMeter(5.6.2)来测量MongoDB数据库的性能。
https://www.blazemeter.com/blog/mongodb-performance我得到了一个“直升机世界”的代码。添加了来自https://mongodb.github.io/mongo-java-driver/3.5/driver/tutorials/authentication/的凭据。最后是代码:

import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;
import com.mongodb.MongoClientSettings;
import com.mongodb.ServerAddress;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.mongodb.MongoCredential;

import org.bson.Document;

import java.util.Arrays;

try{
    MongoCredential credential = MongoCredential.createCredential(vars.get("user"), vars.get("databaseName"), vars.get("password"))
    MongoClientSettings settings = MongoClientSettings.builder()
      .applyToClusterSettings {builder ->
          builder.host(Arrays.asList(new ServerAddress(vars.get("mongoHost"),vars.get("mongoPort").toInteger())))}
      .credentials(credential)
       .build();

       MongoClient mongoClient = MongoClients.create(settings);

       MongoDatabase database = mongoClient.getDatabase(vars.get("databaseName"));
       MongoCollection<Document> collection = database.getCollection(vars.get("collectionName"));

       vars.putObject("Collection", collection);

       return "Connected to " + vars.get("collectionName");
}
catch (Exception e) {
    SampleResult.setSuccssful(false);
    SampleResult.setResponseCode("500");
    SampleResult.setResponseMessage("Exception: " + e);
}

更改路径import com.mongodb.client.MongoClient;并不能解决问题。使用Java而不是Groovy也不能解决这个问题。
当我运行它时,我得到了错误:

Response message:javax.script.ScriptException: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
Script2.groovy: 1: unable to resolve class com.mongodb.client.MongoClient
    @ line 1, column 1.
    import com.mongodb.client.MongoClient;

我错过了什么?
注意:我使用的是/lib/mongodb-driver-3.4.2.jar和Groovy 3.0.17

编辑:将驱动程序放在/lib/ext中并不能解决问题。

krcsximq

krcsximq1#

article you've mentioned说道:
为了在JMeter脚本中使用MongoDB Java Driver,请下载最新版本的mongo-java-driver jar文件,并将其放在JMeter主文件夹下的lib/ext文件夹中。
因此,如果您已经将选择的MongoDB Java Driver放入JMeter Classpath(JMeter安装的“lib”文件夹),则需要重新启动JMeter以获取. jar。
如果您还没有选择您试图模拟的系统所使用的版本。代码也应该从那里获取,因为你不需要运行“hello world”,你需要模仿MongoDB示例的真实使用。

相关问题