如何在没有JNDI属性的情况下从JMS发布者连接到IBM MQ?

时间:2017-07-13 21:41:40

标签: jmeter jms ibm-mq publisher

我一直在尝试从JMeter JMS发布者连接到IBM MQ。无法找到corrert"初始上下文工厂"和"连接工厂"在没有JNDI属性的情况下使用的值。我在LIB文件夹中存在所有MQ jar。

我有以下信息 - 主机名 - Venus,Port - 21717,Destination Queue name - request.queue,Queue manager - venus.QMGR,channel - venus.server.chl (无需授权)。

我的要求 - 使用具有上述详细信息的JMS发布者连接到IBM MQ。但我无法理清为提供者URL,初始上下文工厂和连接工厂提供什么。你能不能请求帮助,因为这已经困扰了我两周而无法找到解决方案呢? 如果您能告诉我在JMS发布者中填充上述值以及连接到IBM MQ的位置,那将会很棒。

我已尝试使用user.classpath = / folder / with / mq / jars但它无法正常运行且JMeter重新启动所有jar都没有运气。

注意:这两周我已经浏览过所有网站但是没有运气。

2 个答案:

答案 0 :(得分:1)

示例配置步骤如下:

  1. javax.jms-api.-x.x.x jar添加到JMeter Classpath
  2. mq-allclient-x.x.x.x.jar添加到JMeter Classpath
  3. JSR223 Sampler添加到您的测试计划
  4. 将以下代码放入“脚本”区域:

    // Creating the binding for the checkbox
    Binding bindDisableFormFields = new Binding("Checked", viewModel, "DisableFormFields");
    
     // Create the binding for the textboxes
    Binding bindIsFormEnabled = new Binding("Enabled", viewModel, "IsFormEnabled");
    
    // Add the binding to the checkbox. This works as intended
    myForm.DisableFormCheckBox.DataBindings.Add(bindDisableFormFields);
    
    // Add bindings and textboxes. After adding the binding 
    // to the first textbox, the code will fail at runtime. So obviously
    // this is not a useful approach.    
    myForm.TextBox1.DataBindings.Add(bindIsFormEnabled);
    myForm.TextBox2.DataBindings.Add(bindIsFormEnabled);  // This line will fail
    myForm.TextBox3.DataBindings.Add(bindIsFormEnabled);
    myForm.TextBox4.DataBindings.Add(bindIsFormEnabled);
    myForm.TextBox5.DataBindings.Add(bindIsFormEnabled);
    
  5. 更多信息:

答案 1 :(得分:0)

根据您的具体要求,您可能会对JMSToolBox感兴趣,并可能定义scripts来读取存储在directiory中的csv文件中的有效负载,然后创建并发布他们在MQ Q.  作为来自消息模板的JMS消息