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

连接IBM时发生jmeter(jms点对点)错误-MQ:javax.naming.NoInitialContextException,jmeter,jms,ibm-mq,jndi,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 需要帮助解决错误。仅供参考:c

连接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
需要帮助解决错误。仅供参考:
com.ibm.mq.allclient.jar
添加到32位JDK1.8的lib文件夹中

添加JAR(复制所有MQ JAR(随完整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目录)

根据您缺少的fscontext.jar

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


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

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


v9知识中心页面“”说明了以下内容:

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


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

  • com.ibm.mq.allclient.jar
  • jms.jar
  • fscontext.jar
  • providerutil.jar
有关更多信息,请参阅我对“问题”的回答


更新2018-01-25

与次要错误相关:

Error: Response message: java.lang.IllegalStateException: QueueConnectionFactory expected, but got com.ibm.mq.jms.MQConnectionFactory
在以下回答中,Attila Repasi解决了您收到的错误:

答复说:

在MQExplorer中创建MQQueueConnectionFactory,而不是 您现在拥有的MQConnectionFactory

此外,在下面的回答中,Attila Repasi描述了如何使用IBM MQ v8配置JMeter,并说明了在MQ资源管理器中执行的操作


您需要将所需库放在下面的某个位置,或者将user.classpath属性设置为指向它们所在的文件夹

根据获得的信息:

JavaSE:

com.ibm.mq

allclient.jar

com.ibm.mq.traceControl.jar

fscontext.jar

jms.jar

providerutil.jar

JSON4J.jar

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


更多信息:

Hi,欢迎使用stack overflow。有关如何提问和相应更新问题的更多详细信息,请参阅链接。JoshMc-我已更新了问题。注意,当你获得15个声望时,你可以对任何问题的答案进行投票,包括你自己的问题。如果我通过@AttilaRepas链接的答案我还帮助过你去投票,这将是一个很好的姿态。感谢你提供的信息,在添加这些JAR后,错误得到了解决。但是遇到了另一个错误:响应消息:javax.naming.InvalidNameException:C:\Users*****\Downloads\apache-jmeter-3.3\apache-jmeter-3.3\JNDI Directory\[根异常为java.net.MalformedURLException:unknown protocol:c]感谢您提供的信息,在添加这些JAR后已解决错误。但是遇到另一个错误:响应消息:javax.naming.InvalidNameException:c:\Users******\Downloads\apache-jmeter-3.3\apache-jmeter-3.3\‌​JNDI目录\[根异常为java.net.MalformedURLException:未知协议:c]