Hornetq:使用 jmx 管理将消息从一个队列移动到另一个队列
Hornetq: move message from a queue to another queue using jmx management
我想使用 JMX 管理工具将消息从 DLQ 队列移动到另一个队列。
通常我们会使用 JMSQueueControl 接口的 moveMessages 方法:
- moveMessages(字符串过滤器,字符串 otherQueueName)
将指定过滤器对应的所有消息移动到指定的其他队列。
我的问题是,如何通过以下调用使用此方法:
/org.hornetq:module=JMS,type=Queue,name="DLQ"/moveMessages
您可以使用以下 CLI 命令将消息从 DLQ 队列移动到另一个队列。
/subsystem=messaging/hornetq-server=default/jms-queue=DLQ:move-messages(filter="",other-queue-name=QUEUE_TO_SEND)
如果您想使用 JMX 控制台,正确的 mbean 是
jboss.as:subsystem=messaging,hornetq-server=default,jms-queue=DLQ
代码看起来像
ObjectName memoryMXBean=new ObjectName("jboss.as:subsystem=messaging,hornetq-server=default,jms-queue=DLQ");
connection.invoke(moveMessages, null, "QUEUE_TO_SEND");
根据您的用例,您还可以使用 JMSToolBox 之类的工具将消息从一个队列拖放到另一个队列
我想使用 JMX 管理工具将消息从 DLQ 队列移动到另一个队列。
通常我们会使用 JMSQueueControl 接口的 moveMessages 方法:
- moveMessages(字符串过滤器,字符串 otherQueueName) 将指定过滤器对应的所有消息移动到指定的其他队列。
我的问题是,如何通过以下调用使用此方法:
/org.hornetq:module=JMS,type=Queue,name="DLQ"/moveMessages
您可以使用以下 CLI 命令将消息从 DLQ 队列移动到另一个队列。
/subsystem=messaging/hornetq-server=default/jms-queue=DLQ:move-messages(filter="",other-queue-name=QUEUE_TO_SEND)
如果您想使用 JMX 控制台,正确的 mbean 是
jboss.as:subsystem=messaging,hornetq-server=default,jms-queue=DLQ
代码看起来像
ObjectName memoryMXBean=new ObjectName("jboss.as:subsystem=messaging,hornetq-server=default,jms-queue=DLQ");
connection.invoke(moveMessages, null, "QUEUE_TO_SEND");
根据您的用例,您还可以使用 JMSToolBox 之类的工具将消息从一个队列拖放到另一个队列