有没有办法清除艾蒿排队?我已经通过cd data/paging
清除了。这是我安装artemis经纪人的地方。
有一个名为haw.io
的artemis用户界面,虽然我已经删除了分页目录中的所有文件,但它会在UI上显示消息,在正确的情况下不应该在那里。
请建议。
答案 0 :(得分:2)
从代理实例bin文件夹中的命令行:
artemis queue delete --user user --password password --name queue-name
答案 1 :(得分:1)
Artemis Broker提供了一个REST管理API,用户可以使用该API在运行时读取和更改许多代理的参数。因此,可以使用如下命令行从命令行清除队列:
curl -X POST -H "Content-Type: application/json" -d '{ "type": "EXEC", "mbean": "org.apache.activemq.artemis:address=\"test.performance.queue\",broker=\"0.0.0.0\",component=addresses,queue=\"test.performance.queue\",routing-type=\"anycast\",subcomponent=queues", "operation": "removeMessages(java.lang.String)", "arguments": [ "" ] }' http://localhost:8161/jolokia/exec | jq .
在上面的示例中,我清除了代理实例test.performance.queue
上名为0.0.0.0
的队列的内容。需要根据具体情况调整这些参数。
Obs:请注意,我使用jq .
只是为了使响应更漂亮(如果您不关心响应,则不需要这样做):
{
"request": {
"mbean": "org.apache.activemq.artemis:address=\"test.performance.queue\",broker=\"0.0.0.0\",component=addresses,queue=\"test.performance.queue\",routing-type=\"anycast\",subcomponent=queues",
"arguments": [
""
],
"type": "exec",
"operation": "removeMessages(java.lang.String)"
},
"value": 13001,
"timestamp": 1503740691,
"status": 200
}
另一种可能性,可能是使用BMIC工具,它可以访问用于管理ActiveMQ 6和Artemis代理的几个API(免责声明:我是该工具的维护者)。使用它,您可以使用此命令执行相同的操作:
./bmic queue -u admin -p admin -s localhost --name test.performance.queue --purge
该工具相对于curl命令的一个好处是您不需要关心代理参数,因为该工具将(尝试)为您进行发现。
答案 2 :(得分:0)
有很多方法可以管理Apache ActiveMQ Artemis的实例。例如,您可以使用:
但是,您不能简单地从代理下方删除文件。