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