我正在尝试将Jmeter [v3.1]配置为连接到启用了AMS安全策略的IBM MQ9队列管理器。 已创建自签名证书和密钥库文件,并将其放在user_home / .mqs目录中。 使用MQ样本程序进行测试时,设置工作正常[JmsProducer& JmsConsumer]没有任何问题https://www.ibm.com/support/knowledgecenter/SSFKSJ_9.0.0/com.ibm.mq.sec.doc/q014710_.htm。
然而,Jmeter很容易做出一个MQPUT,错误率低,并且在执行MQGET时会收到ENCRYPTED不可读的消息。
Jmeter日志: MQJMS2007:无法向MQ队列发送消息
MQ日志: AMQ9034:消息没有有效的保护类型。
我尝试过给予' MQS_KEYSTORE_CONF'作为指向keystore.conf文件的JVM参数,如:https://www.ibm.com/support/knowledgecenter/en/SSKSWQ_7.0.1/com.ibm.mqese.doc/configuring/configuring_mapping.htm中所述,并将其设置为环境变量,但没有运气。
当未启用AMS时,Jmeter连接与队列管理器一起正常工作。 是否有任何其他设置可供JAVA客户端使用MQ9 AMS?
感谢任何帮助/建议。提前谢谢。
答案 0 :(得分:0)
已解决: 问题在于Jmeter使用的MQ客户端jar版本。
它有版本6.x的MQ客户端jar,它不包含MQ AMS实现。
将客户端jar更新为' 9.0.0.1-IBM-MQC-Redist-Java'从IBM Fix central下载,加密正在运行。 说明:http://www-01.ibm.com/support/docview.wss?uid=swg27048266 - 第8章