0
votes

I'm having some issues getting JMeter to work against the WSO2 Message Broker using the JMS Publisher. I had JMeter working against ActiveMQ but I'm still new with the tool.

I copied the client libraries over to jmeter wso2mb-2.0.1\client-lib to apache-jmeter-2.9\lib

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

Settings:

  • Context Factory : org.wso2.andes.jndi.PropertiesFileInitialContextFactory
  • Provider Url : amqp://admin:admin@clientID/carbon?brokerlist='tcp://localhost:5672'
  • Connection Factory : qpidConnectionfactory

...also tried several other values

  • Destination: dynamicQueues/test

The error I'm getting is on the Connection Factory field.
I've tried several different values all of which generate a naming error like there is a setting missing.
When I leave it blank I get:

javax.naming.NamingException: Expected javax.jms.ConnectionFactory, found org.wso2.andes.jndi.ReadOnlyContext

Does anyone know what I'm missing here?
Suspect it's something simple.

1

1 Answers

1
votes

I found the problem.

In short the qpid context factory org.wso2.andes.jndi.PropertiesFileInitialContextFactory does not use fields the same way as the activeMQ context factory org.apache.activemq.jndi.ActiveMQInitialContextFactory.

While ActiveMQ allows you to not use a separate properties file with Jmeter, Qpid does not.

Jmeter JMS Publisher:

  • Context Factory : org.wso2.andes.jndi.PropertiesFileInitialContextFactory
  • Provider Url : nameOfYouFile.properties
  • Connection Factory : qpidConnectionfactory
  • Destination : <QueuePropertyName>

nameOfYouFile.properties:

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

Reference: Qpid Wiki