【问题标题】:How to send the XML file using JMeter to IBM MQ?如何使用 JMeter 将 XML 文件发送到 IBM MQ?
【发布时间】:2021-08-02 18:31:31
【问题描述】:

我是 IBM MQ 的新手,我已按照JMETER IBM MQ Testing中提到的步骤成功连接到 IBM MQ。在这个链接中,我可以看到行中提到的字符串

def payload = String.format("JMeter...IBM MQ...test message no. %09d!", rnd.nextInt(Integer.MAX_VALUE))

反映的是 IBM MQ。

现在,我的问题是,如何将 content/xml 文件发送到 IBM MQ。

  1. 在 JSR223 Sampler 中使用以下代码获取文件,

    import org.apache.jmeter.util.JMeterUtils;
    String fileContents = new File('./test.xml').getText('UTF-8');
    vars.put("content",fileContents);
    
  2. 在 JSR223 Sampler 中使用的代码 sn-p 发送 xml,

    def payload =  vars.get("content");
    def msg = sess.createTextMessage(payload)})
    def start = Instant.now()
    producer.send(msg)

通过这样做,响应消息:javax.script.ScriptException: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: Script4.groovy:15:意外输入:'"' @ 第 15 行,第 34 列。 def payload = " 被观察到。

请帮助我如何使用 JMETER 将 xml 发送到 IBM MQ。

【问题讨论】:

    标签: jmeter websphere ibm-mq


    【解决方案1】:

    看起来像是一个错字:

    def msg = sess.createTextMessage(payload)})
                                             ^here
    

    改成

    def msg = sess.createTextMessage(payload)
    

    它应该开始按预期工作。

    以防万一:

    【讨论】:

    • 嗨@Dmitri,感谢您的帮助。纠正大括号后,请求成功。现在,假设 xml 有 >1000 行。做vars.put("content", fileContents) 并通过vars.get("content"); 获取它是否正确因为我没有看到XML 文件反映在队列中。所以,请帮忙。注意:我在 Jmeter 5.4.1
    • By default IBMMQ message limit is 4MB,不管你有多少“行”。最大邮件大小为 100 MB。这两个值都适合 JMeter 变量,没有任何问题。您可以查看JMeter log file 并搜索类似MQRC_MSG_TOO_BIG_FOR_Q
    猜你喜欢
    • 1970-01-01
    • 2021-11-16
    • 2021-12-12
    • 2016-01-21
    • 1970-01-01
    • 2021-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多