繁体   English   中英

JMS点对点Jmeter负载测试-NoInitialContextException

JMS Point to Point Jmeter Load Testing - NoInitialContextException

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我试图使用Jmeter测试JMS,并试图在本地运行它,但始终收到错误:响应消息:javax.naming.NoInitialContextException:无法实例化类:org.apache.activemq.jndi.ActiveMQInitialContextFactory [根本异常是java .lang.ClassNotFoundException:org.apache.activemq.jndi.ActiveMQInitialContextFactory]

我已经在jmeter的lib文件夹中添加了activemq-all.jar文件,该文件应该已经解决了该问题,但是仍然存在。

如果我缺少什么,请帮助我了解。 谢谢。

以下是我的测试计划的jmx文件内容:

<?xml version="1.0" encoding="UTF-8"?>
<jmeterTestPlan version="1.2" properties="5.0" jmeter="5.0 r1840935">
  <hashTree>
    <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="JMS P2P Load Test" enabled="true">
      <stringProp name="TestPlan.comments"></stringProp>
      <boolProp name="TestPlan.functional_mode">false</boolProp>
      <boolProp name="TestPlan.tearDown_on_shutdown">true</boolProp>
      <boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
      <elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
        <collectionProp name="Arguments.arguments"/>
      </elementProp>
      <stringProp name="TestPlan.user_define_classpath"></stringProp>
    </TestPlan>
    <hashTree>
      <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="JMSTestPlan-P2P" enabled="true">
        <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
        <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
          <boolProp name="LoopController.continue_forever">false</boolProp>
          <stringProp name="LoopController.loops">2</stringProp>
        </elementProp>
        <stringProp name="ThreadGroup.num_threads">1</stringProp>
        <stringProp name="ThreadGroup.ramp_time">0</stringProp>
        <boolProp name="ThreadGroup.scheduler">false</boolProp>
        <stringProp name="ThreadGroup.duration"></stringProp>
        <stringProp name="ThreadGroup.delay"></stringProp>
      </ThreadGroup>
      <hashTree>
        <JMSSampler guiclass="JMSSamplerGui" testclass="JMSSampler" testname="JMS Point-to-Point" enabled="true">
          <stringProp name="JMSSampler.queueconnectionfactory">ConnectionFactory</stringProp>
          <stringProp name="JMSSampler.SendQueue">Q.REQ</stringProp>
          <stringProp name="JMSSampler.ReceiveQueue">Q.REQ</stringProp>
          <intProp name="JMSSampler.communicationStyle">0</intProp>
          <boolProp name="JMSSampler.isNonPersistent">false</boolProp>
          <boolProp name="JMSSampler.useReqMsgIdAsCorrelId">true</boolProp>
          <stringProp name="JMSSampler.timeout">2000</stringProp>
          <stringProp name="JMSSampler.jmsNumberOfSamplesToAggregate"></stringProp>
          <stringProp name="HTTPSamper.xml_data">Testing point to point</stringProp>
          <stringProp name="JMSSampler.initialContextFactory">org.apache.activemq.jndi.ActiveMQInitialContextFactory</stringProp>
          <stringProp name="JMSSampler.contextProviderUrl">tcp://localhost:61616</stringProp>
          <elementProp name="JMSSampler.jndiProperties" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
            <collectionProp name="Arguments.arguments">
              <elementProp name="queue.Q.REQ" elementType="Argument">
                <stringProp name="Argument.name">queue.Q.REQ</stringProp>
                <stringProp name="Argument.value">example.A</stringProp>
                <stringProp name="Argument.metadata">=</stringProp>
              </elementProp>
            </collectionProp>
          </elementProp>
          <elementProp name="arguments" elementType="JMSProperties">
            <collectionProp name="JMSProperties.properties"/>
          </elementProp>
          <boolProp name="JMSSampler.useResMsgIdAsCorrelId">true</boolProp>
        </JMSSampler>
        <hashTree/>
        <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="true">
          <boolProp name="ResultCollector.error_logging">false</boolProp>
          <objProp>
            <name>saveConfig</name>
            <value class="SampleSaveConfiguration">
              <time>true</time>
              <latency>true</latency>
              <timestamp>true</timestamp>
              <success>true</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>true</threadName>
              <dataType>true</dataType>
              <encoding>false</encoding>
              <assertions>true</assertions>
              <subresults>true</subresults>
              <responseData>false</responseData>
              <samplerData>false</samplerData>
              <xml>false</xml>
              <fieldNames>true</fieldNames>
              <responseHeaders>false</responseHeaders>
              <requestHeaders>false</requestHeaders>
              <responseDataOnError>false</responseDataOnError>
              <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
              <assertionsResultsToSave>0</assertionsResultsToSave>
              <bytes>true</bytes>
              <sentBytes>true</sentBytes>
              <url>true</url>
              <threadCounts>true</threadCounts>
              <idleTime>true</idleTime>
              <connectTime>true</connectTime>
            </value>
          </objProp>
          <stringProp name="filename"></stringProp>
        </ResultCollector>
        <hashTree/>
      </hashTree>
    </hashTree>
  </hashTree>
</jmeterTestPlan>
1 个回复

您的测试计划看起来不错,很可能您忘记了一步: 您需要重新启动JMeter才能从其类路径中提取新的.jars。

如果要在不重启JMeter的情况下快速测试.jar,则可以在“ 测试计划”级别添加

在此处输入图片说明

您可能还对构建JMS测试计划-Apache JMeter指南感兴趣, 指南涵盖了有关JMS测试差距的JMeter官方文档

1 使用JMETER进行MQ负载测试以进行JMS点对点消息传递

我想使用JMETER for JMS点对点消息传递来执行MQ负载测试。 我能够连接并向单个远程队列发送单个连接的请求消息。 我们可以使用相同的连接工厂建立多通道连接并将消息发送到不同的队列吗? 我已经与1500个专用远程队列建立了大约1500个通道连接。 我正在使用JMETER 2.11 ...

5 JMeter中的JMS点对点请求超时不会导致错误

我们使用Apache JMeter 2.12来测量JMS队列的响应时间。 但是,我们希望看到有多少请求花费的时间少于一定时间。 根据JMeter的官方网站( http://jmeter.apache.org/usermanual/component_reference.html ),这应该由 ...

2015-02-19 15:13:34 1 630   jmeter
7 Jmeter中的JMS点对点模型请求和响应

我只想在jmeter视图结果树侦听器中看到jms点对点模型的请求和响应。 我试图配置JMS点对点模型,但是我不知道正确的配置,所以请有人给我JMS点对点模型的请求和响应。 我将与您分享我的JMS点对点模型jmeter图片。 JMS点对点配置: JMS请求: JMS响应: ...

8 JMS 1.1:点对点模式的负载共享客户端

我正在使用的具有JMS 1.1(TibcoJms 4.4.1)的旧系统在服务器端建立了一个JMS队列(不是主题),该队列用于PTP通信模式。 消息项将由服务器不断地放入队列中。 我要实现的是通过客户端上的多个线程轮询这些数据。 每个线程应处理具有特定属性值的消息。 我想可以做到这 ...

10 JMeter负载测试

我想通过在同一毫秒内点击几百次来测试URL。 我尝试了JMeter,但可以在同一毫秒内达到2个请求。 我的机器无法足够快地创建线程,这似乎是一个问题。 有什么解决办法吗? ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM