我正在使用jmeter jms点对点队列进行负载测试。
但是我收到以下错误: javax.naming.NamingException:无法创建远程连接[根异常是java.lang.RuntimeException:javax.security.sasl.SaslException:身份验证失败:所有可用的身份验证机制都失败]
我使用的是jmeter 2.11版本
我在jndi属性中添加用户名和密码。但它仍然无法正常工作。这是我正在使用的配置:
QueueConnectionFactory :RemoteConnectionFactory
初始上下文工厂:org.jboss.naming.remote.client.InitialContextFactory
url :remote:// localhost:4447
JNDI Prpperties: 用户名: .............. 密码:...........
答案 0 :(得分:3)
您的Jndi属性似乎有误,请查看:
登录/密码道具是:
用于验证服务调用者的主体的标识。有关更多信息,请参阅javax.naming.Context.SECURITY_PRINCIPAL的Java API文档。
用于验证服务调用者的主体的凭据。有关更多信息,请参阅javax.naming.Context.SECURITY_CREDENTIALS的Java API文档。
答案 1 :(得分:0)
我在使用jmeter获得安慰时遇到了类似的问题,希望对有类似问题的人有所帮助。
对于安慰jms测试需要使用jndi属性,因为没有VPN名称的占位符。 JNDI属性文件将如下所示:
java.naming.factory.initial=com.solacesystems.jndi.SolJNDIInitialContextFactory
java.naming.provider.url=<IP:port><br>
Solace_JMS_VPN=<VPN Name><br>
java.naming.security.principal=<username><br>
java.naming.security.credentials=<password>
这里jndi属性必须打包为jar文件并放在jmeter lib文件夹中,以便在运行时选择。
jar cvf my-jndi-properties.jar jndi.properties
希望这有帮助。