5.4. 管理操作
无论您使用 JMX 或 JMS 消息来管理 AMQ Broker,您都可以使用相同的 API 管理操作。通过使用管理 API,您可以管理代理、地址和队列。
5.4.1. 代理管理操作 复制链接链接已复制到粘贴板!
您可以使用管理 API 来管理代理。
- 列出、创建、部署和销毁队列
部署的队列列表可以通过
getQueueNames()方法来检索。可以使用管理操作创建Queue()、
部署或销毁队列。Queue()(通过或销毁Queue()ObjectNameorg.apache.activemq.artemis:broker="BROKER_NAME"或资源名称服务器)来创建如果在部署Queue时队列已存在,则创建Queue将失败。- 暂停和恢复队列
-
QueueControl可以暂停并恢复底层队列。当队列暂停时,它将接收信息,但不会发送它们。恢复后,它将开始传送排队的消息(如果有)。 - 列出和关闭远程连接
使用
列表RemoteAddresses()检索客户端的远程地址。也可以使用closeConnectionsForAddress()方法关闭与远程地址关联的连接。另外,也可使用
listConnectionIDs()列出连接 ID,再使用listSessions()列出给定连接 ID 的所有会话。- 管理事务
如果代理崩溃,代理重启时,一些事务可能需要人工干预。使用以下方法帮助解决遇到的问题。
使用
listPreparedTransactions()方法列表,列出处于 ready 状态中的事务(事务以 opaque Base64 Stringsactions()方法列表表示)。使用
commitPreparedTransaction()或rollbackPreparedTransaction()提交或回滚所准备的事务,以解决 heuristic 事务。使用
listHeuristicCommittedTransactions()和listHeuristicRolledBackTransactions方法列出 heuristicly 完成的事务。- 启用和重置消息计数器
使用
enableMessageCounters()或disableMessageCounters()方法启用和禁用消息计数器。使用
resetAllMessageCounters()和resetAllMessageCounterHistories()方法重置消息计数器。- 检索代理配置和属性
-
ActiveMQServerControl通过其所有属性(例如,getVersion()方法来检索代理的版本等)公开代理的配置。 - 列出、创建和销毁 Core Bridge 和 diverts
列出部署的 Core Bridge,并使用
getBridgeNames()和getDivertNames()方法进行移动。使用网桥创建或销毁,使用
createBridge()和destroyBridge()或 destroyDivert()上的createDivert()和destroyDivert()(通过ObjectNameorg.apache.artemis:broker="BROKER_NAME"或资源名称server)创建或销毁。- 停止代理并强制在任何当前附加的客户端发生故障转移
使用
ActiveMQServerControl上的forceFailover()(带有ObjectNameorg.apache.activemq.artemis:broker="BROKER_NAME"或 resource nameserver)注意因为这个方法实际停止代理,所以可能会收到错误。确切的错误取决于您用于调用方法的管理服务。