使用Jmeter连接到MQ


问题内容

我被分配了使用Apache
Jmeter连接到MQ的任务。不幸的是,我不是MQ的管理员,而我试图获得有关它的更多信息的所有尝试都无济于事。我现在拥有的是一个队列名称(称为q),一个队列管理器(无论如何,其名称;称为v),一个主机(w),一个端口(x),一个通道(y),一个用户(z
),以及应该发送给我的测试消息。游戏的目的很简单:将测试消息从Apache
Jmeter发送到MQ(在此之后,我将询问管理员消息是否通过)。换句话说,我需要帮助弄清楚如何使用Jmeter。

MQ是8.0.0.4版。我已经安装了Jmeter,所以不需要任何建议(除非应该为该任务安装一些特殊方法)。

这个问题的答案中提供的链接并没有使我走的太远。他们似乎与我试图做的事情无关(而且他们的指示也不准确)。


问题答案:
  1. 下载8.0.0.4-WS-MQ-Install-Java-All文件
  2. 以类似方式运行java -jar 8.0.0.4-WS-MQ-Install-Java-All.jar并接受许可协议
  3. wmq/JavaSE/文件夹中的所有.jars添加到JMeter Classpath
  4. 重新启动JMeter以选择.jar
  5. JSR223 Sampler添加到您的测试计划中,并将以下代码放入“脚本”区域:
        import com.ibm.msg.client.jms.JmsFactoryFactory
    import com.ibm.msg.client.wmq.WMQConstants

    import javax.jms.Session

    // 1
    def hostName = "127.0.0.1"
    def hostPort = 1414
    def channelName = "DEV.APP.SVRCONN"
    def queueManagerName = "QM1"
    def queueName = "DEV.QUEUE.1"

    // 2
    def ff = JmsFactoryFactory.getInstance(WMQConstants.WMQ_PROVIDER)
    def cf = ff.createConnectionFactory()

    // 3
    cf.setStringProperty(WMQConstants.WMQ_HOST_NAME, hostName)
    cf.setIntProperty(WMQConstants.WMQ_PORT, hostPort)
    cf.setStringProperty(WMQConstants.WMQ_CHANNEL, channelName)
    cf.setIntProperty(WMQConstants.WMQ_CONNECTION_MODE, WMQConstants.WMQ_CM_CLIENT)
    cf.setStringProperty(WMQConstants.WMQ_QUEUE_MANAGER, queueManagerName)

    // 4
    def conn = cf.createConnection("app", "")
    def sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE)

    // 5
    def destination = sess.createQueue(queueName)

    conn.start()

有关更多信息,请参阅使用JMeter进行的IBM MQ测试-学习方式文章,以获取更多信息。