连接IBM时的jmeter(jms点对点)错误 - MQ:javax.naming.NoInitialContextException

时间:2018-01-22 04:58:13

标签: jmeter jms ibm-mq jndi

连接IBM时的 jmeter(jms点对点)错误 - MQ:

javax.naming.NoInitialContextException: Cannot instantiate class: com.sun.jndi.fscontext.RefFSContextFactory [Root exception is java.lang.ClassNotFoundException: com.sun.jndi.fscontext.RefFSContextFactory

需要帮助解决错误。仅供参考:{lib}文件夹中添加com.ibm.mq.allclient.jar,32位jdk 1.8

jms point-to-point configuration in jemeter

JNDI configuration in mq explorer

添加jar后(复制所有MQ Jars(附带完整的Websphere MQ安装)并将它们放入JMeter / Lib)遇到新的错误:

Error: Response message: java.lang.IllegalStateException: QueueConnectionFactory expected, but got com.ibm.mq.jms.MQConnectionFactory

绑定文件就位(C:\ Users ***** \ Downloads \ apache-jmeter-3.3 \ apache-jmeter-3.3 \ JNDI-Directory)

3 个答案:

答案 0 :(得分:1)

您没有说明您使用的是哪个版本的IBM MQ jar文件,但是IBM MQ v8中引入了com.ibm.mq.allclient.jar,因此您必须使用v8或v9。

v9知识中心页面" What is installed for IBM MQ classes for JMS"声明如下:

  

如果您的应用程序使用文件系统上下文执行JNDI查找,则需要fscontext.jar和providerutil.jar文件。

总之,您需要包含以下jar文件:

  • com.ibm.mq.allclient.jar
  • jms.jar
  • fscontext.jar
  • providerutil.jar

有关详细信息,请参阅我对" Upgrade of Java 8 and MQ - NoClassDEfFoundError的回答。

更新2018-01-25

与次要错误相关:

Error: Response message: java.lang.IllegalStateException: QueueConnectionFactory expected, but got com.ibm.mq.jms.MQConnectionFactory

在以下答案中,Attila Repasi解决了您收到的错误:

JMeter 3.2 Point-to-Point configuration for IBM MQ 8 => Java Exception

答案说明:

  

在MQExplorer中创建MQQueueConnectionFactory而不是   你现在有MQConnectionFactory。

此外,在以下答案中,Attila Repasi描述了如何使用IBM MQ v8配置JMeter并解决在MQ Explorer中要执行的操作。

JMeter configuration for IBM MQ 8

答案 1 :(得分:0)

根据generator,您缺少fscontext.jar

  

通过将fscontext.jar添加到类路径来解决com.sun.jndi.fscontext.RefFSContextFactory的ClassNotFoundException

您可以下载oracle post并将其复制到JMeter lib文件夹

答案 2 :(得分:0)

您需要在JMeter Classpath下的某处删除所需的库,或者将 user.classpath 属性设置为指向它们所在的文件夹。

根据获得IBM MQ classes for Java and JMS

  

\ JavaSE的:

     

com.ibm.mq。

     

allclient.jar

     

com.ibm.mq.traceControl.jar

     

fscontext.jar

     

jms.jar

     

providerutil.jar

     

JSON4J.jar

因此,您不仅需要allclient.jar,还需要JavaSE文件夹中的所有广告

更多信息:IBM MQ testing with JMeter - Learn How