我正在尝试使用 JMeter 的点对点功能来测试 ActiveMQ。我正在关注这里的文档。
在此页面中,针对“请求响应”的沟通方式有以下内容:
这意味着您至少需要一个响应请求的服务。
获取响应请求的服务有哪些选择?是否可以配置 ActiveMQ 来执行此操作,或者更改 JMeter 的点对点面板中的 JMS 属性以使其自动执行此操作?如果没有,是否有任何简单的应用程序可以回复消息并将回复发送到另一个队列?
我正在使用 ActiveMQ 5.5.1 和 JMeter 2.6。
我不相信 ActiveMQ 提供自动响应请求的服务。ActiveMQ 只是一个代理/消息路由器。JMeter 是您的“客户”。所以你仍然需要一个服务器(这是提到的“服务”)。由于您正在测试点对点,因此您将需要一个使用队列而不是主题的 JMS 服务器。您对服务器的选择是编写自己的代码或查找一些同步 JMS 服务器代码/测试工具,例如:http: //activemq.apache.org/how-should-i-implement-request-response-with- jms.html
在该示例代码中,您必须更改message.getJMSReplyTo()
为某个队列名称,然后您将JNDI Name Reply Queue (Q.RPL)
在以下行的 JMeter 字段中使用该名称:
this.replyProducer.send(message.getJMSReplyTo(), response);
在 JMeter 中,您需要设置为该示例代码中设置JNDI Name Request Queue (Q.REQ)
的任何内容。messageQueueName
默认为client.messages