- java/
- Java 使用ActiveMQ的JMeter JMS点对点采样器
Java 使用ActiveMQ的JMeter JMS点对点采样器
Java 使用ActiveMQ的JMeter JMS点对点采样器,java,jmeter,activemq,Java,Jmeter,Activemq,我们正在升级一个应用程序以使用ActiveMQ(经典版,5.15.9版)。
因此,我们正在调整现有的JMeter(3.1版)测试以使用ActiveMQ。在JMS采样器中,属性已修改并设置如下:
初始上下文工厂=
org.apache.activemq.jndi.ActiveMQInitialContextFactory
上下文提供程序Url=tcp://[MyHost]:61616
队列连接工厂=连接工厂
发送队列=Queue.MyApp.RequestQueue
接收队列=Queue.MyA
我们正在升级一个应用程序以使用ActiveMQ(经典版,5.15.9版)。
因此,我们正在调整现有的JMeter(3.1版)测试以使用ActiveMQ。在JMS采样器中,属性已修改并设置如下:
- 初始上下文工厂=
org.apache.activemq.jndi.ActiveMQInitialContextFactory
- 上下文提供程序Url=tcp://[MyHost]:61616
- 队列连接工厂=连接工厂
- 发送队列=Queue.MyApp.RequestQueue
- 接收队列=Queue.MyApp.ResponseQueue
尽管如此,我还是在JMeter日志中发现了以下错误(即使功能测试使用ActiveMQ单机版和队列):
错误-jmeter.protocol.jms.sampler.JMSSampler:queue.MyApp.RequestQueue javax.naming.NameNotFoundException:queue.MyApp.RequestQueue
位于org.apache.activemq.jndi.ReadOnlyContext.lookup(ReadOnlyContext.java:235)
在javax.naming.InitialContext.lookup(InitialContext.java:417)
位于org.apache.jmeter.protocol.jms.sampler.JMSSampler.threadStarted(JMSSampler.java:337)
位于org.apache.jmeter.threads.JMeterThread$ThreadListenerTraverser.addNode(JMeterThread.java:659)
位于org.apache.jorphan.collections.HashTree.traverseInto(HashTree.java:996)
位于org.apache.jorphan.collections.HashTree.traverse(HashTree.java:978)
位于org.apache.jmeter.threads.JMeterThread.threadStarted(JMeterThread.java:628)
位于org.apache.jmeter.threads.JMeterThread.initRun(JMeterThread.java:616)
位于org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:245)
运行(Thread.java:745)
有没有想过我可能错过了什么?您需要以稍微不同的方式进行配置,即:
JNDI名称请求队列:Q.REQ
JNDI名称接收队列:Q.RSP
添加以下JNDI属性:
完整配置,以防万一:
更多信息:
演示:
我一直在寻找解决问题的方法
在本教程中,我设置:
然后,我添加了JNDI属性,如下所示:
- Name=queue.Q.REQ,value=queue.MyApp.RequestQueue
- Name=queue.Q.RESP,value=queue.MyApp.RequestQueue
瞧 我似乎从其他渠道找到了同样的信息。它具有确认解决方案的优势。谢谢