问题描述
每次使用 JMeter 测试运行 JMeter 后,我都需要删除持久订阅者。
我想向 ActiveMQ Web 控制台创建 HTTP 请求,如浏览器 WebConsole 所示。
但我需要知道:
- URL 中的“secret”参数是什么?
- 如何生成?
- 它是否对 JMeter 的 HTTP 请求有效?
解决方法
引入了“secret”参数以阻止对 Web 控制台的跨站点请求伪造 (CSRF) 攻击。有关详情,请参阅 AMQ-2613。
为了从 JMeter 向该 URL 发送有效请求,您将无法生成自己的“秘密”。
您应该使用 ActiveMQ's integration 和 Jolokia JMX-HTTP bridge 直接与 ActiveMQ 的 JMX 管理 bean 交互。例如,DurableSubscriptionViewMBean
有一个您可以调用的 destroy
方法。
也就是说,最佳选项是从您的 JMS 客户端简单地调用 javax.jms.Session#unsubscribe()。这是应该删除订阅的正常方式。
,您不需要“生成”这个值,您需要使用合适的Post-Processor从之前的响应中“提取”这个值(CSS Selector Extractor是一个不错的选择)
只需检查之前的响应源,您就会在那里看到这个“秘密”值。取出它,存储到 JMeter Variable 中,您应该可以开始使用了。