如何在JMeter中解决javax.naming.NameNotFoundException:com.ibm.mq.jms.MQQueueConnectionFactory错误

时间:2016-09-07 05:05:48

标签: jmeter ibm-mq

我正在使用JMeter连接到Websphere MQ,以便将多条消息放入队列。我试过下面的

  1. 将以下jar放入单独的路径并在jmeter.properties中启用user.classpath变量并将jars路径附加到其中

    a)com.ibm.mq.jar

    b)com.ibm.mqjms.jar

    c)dhbcore.jar

    d)fscontext.jar

    e)javax.jms.jar

    f)jms.jar

    g)providerutil.jar

    1. 使用过的JMS Publisher Sampler并设置了所需的详细信息enter image description here

    2. 跑过采样器,我收到错误为javax.naming.NameNotFoundException: com.ibm.mq.jms.MQQueueConnectionFactory enter image description here

  2. 我尝试下载互联网上不同论坛中指定的其他多个罐子。他们似乎都没有解决这个问题。类com.ibm.mq.jms.MQQueueConnectionFactory确实存在于下载的MQ jar中。不确定为什么JMeter无法找到这个课程。

    对此有任何帮助吗?

2 个答案:

答案 0 :(得分:1)

哇。您缺少一堆MQ JAR文件。

  

e)javax.jms.jar

那不是MQ JAR文件。

以下是MQ JMS Pub / Sub所需的MQ JAR文件列表:

  1. com.ibm.mq.commonservices.jar
  2. com.ibm.mq.headers.jar
  3. com.ibm.mq.jar
  4. com.ibm.mq.jmqi.jar
  5. com.ibm.mq.pcf.jar
  6. com.ibm.mqjms.jar
  7. connector.jar
  8. dhbcore.jar
  9. fscontext.jar
  10. jms.jar
  11. jndi.jar
  12. jta.jar
  13. ldap.jar
  14. providerutil.jar
  15. rmm.jar
  16. 如果您想让生活更轻松,从MQ v8.0.0.4开始,有一个名为“com.ibm.mq.allclient.jar”的MQ JAR文件,其中包含所有内容。

答案 1 :(得分:1)

javax.naming.NameNotFoundException与类没有任何关系。如果Java无法找到该类,那么您将获得ClassNotFoundException。

javax.naming.NameNotFoundException是一个JNDI异常,表明JNDI找不到您传入的名称。

我希望UI中的'ConnectionFactory'字段不是在寻找类名,而是在寻找您使用所需参数配置连接到MQ队列管理器的ConnectionFactory的JNDI名称。所以是MQQueueConnectionFactory的一个实例,而不是它的类文件。