尝试从 ActiveMQ WebConsole 删除持久订阅者时,URL 中的“秘密”参数是什么?

问题描述

每次使用 JMeter 测试运行 JMeter 后,我都需要删除持久订阅者。

我想向 ActiveMQ Web 控制台创建 HTTP 请求,如浏览器 WebConsole 所示。

enter image description here

但我需要知道:

  1. URL 中的“secret”参数是什么?
  2. 如何生成
  3. 它是否对 JMeter 的 HTTP 请求有效?

解决方法

引入了“secret”参数以阻止对 Web 控制台的跨站点请求伪造 (CSRF) 攻击。有关详情,请参阅 AMQ-2613

为了从 JMeter 向该 URL 发送有效请求,您将无法生成自己的“秘密”。

您应该使用 ActiveMQ's integrationJolokia JMX-HTTP bridge 直接与 ActiveMQ 的 JMX 管理 bean 交互。例如,DurableSubscriptionViewMBean 有一个您可以调用的 destroy 方法。

也就是说,最佳选项是从您的 JMS 客户端简单地调用 javax.jms.Session#unsubscribe()。这是应该删除订阅的正常方式。

,

您不需要“生成”这个值,您需要使用合适的Post-Processor从之前的响应中“提取”这个值(CSS Selector Extractor是一个不错的选择)

只需检查之前的响应源,您就会在那里看到这个“秘密”值。取出它,存储到 JMeter Variable 中,您应该可以开始使用了。

更多信息:How to Load Test CSRF-Protected Web Sites

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...