【问题标题】:Connecting to an MQ with Jmeter使用 Jmeter 连接到 MQ
【发布时间】:2020-05-08 03:47:29
【问题描述】:

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

MQ 版本为 8.0.0.4。我已经安装了 Jmeter,所以我不需要这方面的建议(除非有一些特殊的方式应该为此任务安装它)。

this 问题答案中提供的链接并没有让我走得太远。它们似乎与我试图做的事情基本无关(而且他们的指示也不精确)。

【问题讨论】:

    标签: java apache jmeter ibm-mq


    【解决方案1】:
    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 以拾取 .jars
    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()
      

    如果需要,请参阅IBM MQ testing with JMeter - Learn How 文章了解更多信息。

    【讨论】:

    • 两件事:首先,如果不先添加线程组,就无法添加 JSR223 采样器。我应该如何配置它?其次,在每次运行时,我都会收到以下错误:2018-04-17 15:35:24,973 ERROR o.a.j.p.j.s.JSR223Sampler: Problem in JSR223 script JSR223 Sampler, message: javax.script.ScriptException: groovy.lang.MissingPropertyException: No such property: JmsConstants for class: Script2 javax.script.ScriptException: groovy.lang.MissingPropertyException: No such property: JmsConstants for class: Script2Thoughts?
    • 第一:你应该根据你的性能测试计划配置线程组。默认情况下,它将运行 1 个虚拟用户 1 次。第二:我的示例代码在任何地方都没有JmsConstants,你应该问在那里添加这个属性的人。
    • 这似乎有效。这段代码来自标准 Groovy 文档吗?如果没有,你能把我链接到我可以参考的东西吗?另外,您有任何收听回复的指示吗? (请注意,我赞成您的评论,尽管它可能没有显示。)
    猜你喜欢
    • 2016-01-21
    • 1970-01-01
    • 2018-05-22
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    • 2015-09-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多