jmeter 是通过 jndi 来获得 jms 中相关对象的,如 ConnectionFactory 和 Destination,所以在 jmeter 的 classpath 中需要添加一个 jndi.properties 属性文件,用于配置jndi。 创建jndi.properties文件,包含如下内容:
java.naming.factory.initial = org.apache.activemq.jndi.ActiveMQInitialContextFactory #指定connectionFactory的jndi名字,多个名字之间可以逗号分隔。 #注册queue,格式: #注册topic,格式: |
1、把jndi.properties放到jmeter的启动jar包中:
可以直接将jndi.properties文件拖入jar包中;也可以执行如下操作,打开命令行窗口,并定位到 JMETER_HOME/bin 目录,运行如下命令 :
jar uf ApacheJMeter.jar jndi.properties
2、添加activemq-all-5.2.0.jar包到Jmeter的lib库:
将ACTIVE_HOME/activemq-all-5.2.0.jar文件复制到JMETER_HOME/lib目录中,jmeter在测试jms的时候会使用到activemq提供的jms的实现类,这些类并没有随jmeter一起分发,需要把这些类添加到jmeter的classpath中。
3、启动Jmeter测试JMS:
添加线程组及JMS的sampler,有三种方式的JMS消息:
1)Point-to-Point
右键》添加》sampler》JMS point-to-point 添加一个队列的界面
注:如果不写Receive queue,则不会有消费者。
2)Publisher
基本值同Point-to-Point,不同点在于Destination,填写JMS的topic目的地
若在ActiveMQ中Topics的名字为example.MyTopic
则jndi.properties文件中定义的topic如下:
topic.MyTopic = example.MyTopic
则Destination填写topic.后面的MyTopic
3)Subscriber
基本值同Publisher,不同在于可以根据需要填写Client ID,JMS Selector进行消息过滤
参考:
http://www.open-open.com/lib/view/open1425649397165.html
activemq -jndi: http://activemq.apache.org/jndi-support.html
--------------------- 本文来自 蓝精灵lx 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/liuxiao723846/article/details/52807104?utm_source=copy