0

我在使用 JMS Publisher 让 JMeter 与 WSO2 消息代理一起工作时遇到了一些问题。我让 JMeter 与 ActiveMQ 一起工作,但我仍然是该工具的新手。

我将客户端库复制到 jmeter wso2mb-2.0.1\client-lib 到 apache-jmeter-2.9\lib

  • andes-client-0.13.wso2v4.jar
  • geronimo-jms_1.1_spec-1.1.0.wso2v1.jar

设置:

  • 上下文工厂:org.wso2.andes.jndi.PropertiesFileInitialContextFactory
  • 提供者网址:amqp://admin:admin@clientID/carbon?brokerlist='tcp://localhost:5672'
  • 连接工厂:qpidConnectionfactory

...还尝试了其他几个值

  • 目的地:动态队列/测试

我得到的错误是在连接工厂字段上。
我尝试了几个不同的值,所有这些值都会产生命名错误,就像缺少设置一样。
当我将其留空时,我得到:

javax.naming.NamingException:预期 javax.jms.ConnectionFactory,发现 org.wso2.andes.jndi.ReadOnlyContext

有谁知道我在这里想念什么?
怀疑是简单的事情。

4

1 回答 1

1

我发现了问题。

简而言之,qpid 上下文工厂org.wso2.andes.jndi.PropertiesFileInitialContextFactory使用字段的方式与 activeMQ 上下文工厂不同org.apache.activemq.jndi.ActiveMQInitialContextFactory

虽然 ActiveMQ 允许您在 Jmeter 中不使用单独的属性文件,但 Qpid 不允许。

Jmeter JMS 发布者:

  • 上下文工厂:org.wso2.andes.jndi.PropertiesFileInitialContextFactory
  • 提供者网址:nameOfYouFile.properties
  • 连接工厂:qpidConnectionfactory
  • 目的地 :<QueuePropertyName>

nameOfYouFile.properties:

connectionfactory.qpidConnectionfactory = amqp://admin:admin@clientID/carbon?brokerlist='tcp://localhost:5672'
queue.JMeterQueue = JMeterQueue

参考: Qpid 维基

于 2013-03-12T04:18:43.320 回答