我有一个JMeter JMS点对点测试,我将XML文档发送到一个队列,该队列进入MongoDB并回复XML文档。
当我在JMeter中运行测试时,我可以通过RedHat日志查看请求已进入Mongo并正确返回。虽然在JMeter中,但测试失败了,我收到了消息:
“未收到回复消息”
如果我将“communication-style
”设置为“Request Only
”,则测试通过。我所有的连接都是正确的,我正在使用JMeter 2.11版。
我已在论坛上阅读更改jmeter.properties文件以启用JMSSampler.useSecurity.properties=false
。这没效果。
对此的任何想法都将非常感激,
谢谢,
卡辛
答案 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名称接收队列