【发布时间】:2018-05-05 22:56:05
【问题描述】:
我正在尝试使用带有 groovy 的 JSR 223 采样器连接到 mongodb。签名看起来完全正常,脚本在 JMETER 中运行良好。但是它在通过 maven 执行它时会引发错误。下面是代码:
===================
MongoCredential mongoCredential = MongoCredential.createScramSha1Credential("PIDPCR","adm",'pRU6Ref'.toCharArray()); coreMongoClient = new MongoClient(new ServerAddress("${addr}", 27017),Arrays.asList(mongoCredential));
==================
下面是抛出的错误:
javax.script.ScriptException: javax.script.ScriptException: groovy.lang.MissingMethodException: 没有方法签名: static com.mongodb.MongoCredential.createScramSha1Credential() 适用于参数类型: (java.lang.String, java .lang.String, [C) 值:
【问题讨论】:
-
听起来你没有正确安装jar。清除所有内容,检查 pom.xml 中的“官方”和相关来源,然后再次获取所有依赖项。并且实际上使用 maven,以防您以前认为复制下载的文件是可以的。
-
我已经添加了依赖项,并且我有另一个不需要身份验证的 mongodb 服务器,我不必使用 mongoCredential,在这种情况下它可以正常工作。
-
我们向您提到这一点的原因(两次)是因为当编译的代码和安装在 jar 中的库与最初引用的库不匹配时,这通常是导致错误的原因。所以你肯定在那里打破了一些东西。提供的答案是最可能的原因。检查所有类路径值并确保只有预期的 jar 实际存在。
-
感谢 Neil,Jmeter 插件正在自动下载旧版本的 Mongodb 驱动程序。我使用
标签排除了旧版本。它现在正在工作。感谢您的帮助。 -
是的,它成功了!谢谢@Ubik。我已经做了!非常感谢!
标签: mongodb maven jmeter mongo-java-driver jmeter-maven-plugin