使用JMeter jms点对点队列在Jmeter负载测试中添加授权

时间:2014-04-30 07:23:17

标签: jms jmeter

我正在使用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: 用户名: .............. 密码:...........

2 个答案:

答案 0 :(得分:3)

您的Jndi属性似乎有误,请查看:

登录/密码道具是:

  • java.naming.security.principal
  

用于验证服务调用者的主体的标识。有关更多信息,请参阅javax.naming.Context.SECURITY_PRINCIPAL的Java API文档。

  • java.naming.security.credentials
  

用于验证服务调用者的主体的凭据。有关更多信息,请参阅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=&lt;IP:port&gt;<br>
Solace_JMS_VPN=&lt;VPN Name&gt;<br>
java.naming.security.principal=&lt;username&gt;<br>
java.naming.security.credentials=&lt;password&gt;

这里jndi属性必须打包为jar文件并放在jmeter lib文件夹中,以便在运行时选择。

jar cvf my-jndi-properties.jar jndi.properties

希望这有帮助。