JMeter JMS点对点队列测试 - "未收到回复消息"

时间:2014-04-24 10:24:58

标签: queue jms jmeter point reply

我有一个JMeter JMS点对点测试,我将XML文档发送到一个队列,该队列进入MongoDB并回复XML文档。

当我在JMeter中运行测试时,我可以通过RedHat日志查看请求已进入Mongo并正确返回。虽然在JMeter中,但测试失败了,我收到了消息:

  

“未收到回复消息”

如果我将“communication-style”设置为“Request Only”,则测试通过。我所有的连接都是正确的,我正在使用JMeter 2.11版。

我已在论坛上阅读更改jmeter.properties文件以启用JMSSampler.useSecurity.properties=false。这没效果。

对此的任何想法都将非常感激,

谢谢,

卡辛

3 个答案:

答案 0 :(得分:2)

固定。

我删除了' queue.Response'以及JNDI名称Receive Queue字段。

这似乎可以解决问题

答案 1 :(得分:0)

我遇到了同样的问题,这是如何解决的:

如果您使用不同的队列进行请求和响应,则显示使用messageID或CorrelationID来跟踪响应消息的预定义属性都不起作用。

因此,不要选择两者中的任何一个 - 取消选择两者。相反,为相关ID定义任何JMS属性的新属性,如下所示

属性名称:JMSCorrelationId 属性值:MesgID - $ {_ time(,)}

这应该可以正常工作。

答案 2 :(得分:0)

可以通过提供JMSCorrelationId属性来解决此问题 提供属性值为MsgId - $ {__ time()} 请注意双下划线作为时间函数的后缀(https://jmeter.apache.org/usermanual/functions.html#__time) 这将确保在每个请求上发送当前millis的相关Id,并且将在返回时与响应匹配。

注意: 1.使用通信方式作为请求响应 2.不要检查任何备用字段复选框 3.提供发送响应的JNDI名称接收队列