4.5. 使用 AMQ 管理控制台管理代理
您可以使用 AMQ 管理控制台查看有关正在运行的代理的信息并管理以下资源:
- 传入网络连接(接收器)
- addresses
- 队列
4.5.1. 查看有关代理的详情 复制链接链接已复制到粘贴板!
要了解代理的配置方式,请在左侧菜单中,单击 Artemis。
在主窗格中,有以下标签:
Status
显示代理当前状态的信息,如版本信息、运行时间以及部署的高可用性策略。另外,还显示代理当前使用的地址内存量。图将此值显示为
global-max-size
配置参数的比例。图 4.1. Status 标签页
连接
- 显示代理连接的信息,包括客户端、集群和网桥连接。
会话
- 显示有关当前在代理上打开的所有会话的信息。
消费者
- 显示有关代理上当前打开的所有用户的信息。
producers
- 显示有关代理上当前打开的制作者的信息。
addresses
- 显示代理中地址的信息。这包括内部地址,如 storage-and-forward 地址。
队列
- 显示代理中队列的信息。这包括内部队列,如 storage-and-forward 队列。
代理图
- 显示集群拓扑图。这包括集群中的所有代理以及本地代理中的任何地址和队列。
4.5.2. 查看代理图 复制链接链接已复制到粘贴板!
您可以查看拓扑中所有 AMQ Broker 资源的示意图,包括代理(活跃和备份代理)、生成者和消费者、地址和队列。
流程
- 在左侧菜单中,单击 Artemis。
在主窗格中,点 Broker 图表 选项卡。
控制台显示集群拓扑图。这包括集群中的所有代理以及本地代理上的任何地址和队列,如图所示。
图 4.2. 代理图 标签页
- 要更改图中显示的项目,请在 Node options 列表中选中您要显示的项目的复选框。
要显示本地代理或连接到它的地址或队列的属性,请在图表中点该节点。例如,下图展示了一个图,其中还包含本地代理的属性。
图 4.3. 代理图 标签页,包括属性
4.5.3. 查看接受者 复制链接链接已复制到粘贴板!
您可以查看为代理配置的 acceptors 的详情。
流程
- 在左侧菜单中,单击 Artemis JMX。
- 在文件夹树中,单击 acceptors。
要查看有关如何配置 acceptor 的详细信息,请点接受者。
控制台在 Attributes 选项卡中显示 acceptor 属性,以及您可以对 Operations 选项卡执行 acceptor 的操作。
以下示例显示了
amqp
acceptor 的属性。图 4.4. AMQP 接受器属性
- 要查看属性的完整详情,请点属性。此时会打开一个额外窗格以显示详细信息。
- 要对接受者执行操作,请单击 Operations 选项卡,展开操作并单击 Execute 按钮。
4.5.4. 管理地址和队列 复制链接链接已复制到粘贴板!
一个地址代表消息传递端点。在配置中,一个典型的地址被赋予一个唯一的名称。
队列与地址关联。每个地址可以有多个队列。当传入消息与地址匹配后,该消息将发送到一个或多个队列,具体取决于配置的路由类型。可以将队列配置为自动创建和删除。
4.5.4.1. 创建地址 复制链接链接已复制到粘贴板!
典型的地址被授予唯一名称、零个或多个队列,以及路由类型。
路由类型决定了消息如何发送到与地址关联的队列。可以使用两种不同的路由类型来配置地址。
如果您希望您的消息路由到… | 使用此路由类型… |
匹配地址中的单个队列以点对点的方式进行。 | anycast |
匹配地址内的每个队列都以发布订阅方式进行。 | 多播 |
您可以创建和配置地址和队列,然后在不再使用它们时删除它们。
流程
- 在左侧菜单中,单击 Artemis。
- 在主窗格中,单击 Addresses 选项卡。
单击 Create Address。
此时会显示 Create Address 对话框。
图 4.5. 创建地址对话框
完成以下字段:
地址名称
- 地址的路由名称。
路由类型
选择以下选项之一:
-
多播
:发送到地址的消息以发布订阅方式分发到所有订阅者。 -
anycast
:发送到此地址的消息以点对点的方式分布到一个订阅者。
-
- 单击 Create Address。
4.5.4.2. 将消息发送到地址 复制链接链接已复制到粘贴板!
您可以使用控制台将消息发送到地址。
流程
- 在左侧菜单中,单击 Artemis。
- 在主窗格中,单击 Addresses 选项卡。
- 单击所选地址的三点图标。
单击 Send Message。
此时会显示 Send Message to Address <address name> 对话框。
图 4.6. 发送消息到地址
- 默认情况下,消息会使用您用来登录到 AMQ 管理控制台的凭证发送。如果要使用不同的凭证,请清除 Use Current Logged in User 复选框,并在 Username 和 Password 字段中指定值,这些值在清除复选框后显示。
- 如有必要,点 Add Header 按钮来添加消息标头信息。
- 输入消息正文。
- 在 Format 下拉菜单中,为消息正文格式选择一个选项,然后单击 Format。消息正文以人类可读的样式格式化,用于您选择的格式。
单击 Send。
消息被发送。
- 要发送附加消息,请更改您输入的任何信息,然后单击 Send。
4.5.4.3. 创建队列 复制链接链接已复制到粘贴板!
队列在生成者和消费者之间提供频道。
先决条件
- 要绑定队列的地址必须存在。要了解如何使用控制台创建地址,请参阅 第 4.5.4.1 节 “创建地址”。
流程
- 在左侧菜单中,单击 Artemis。
- 在主窗格中,单击 Addresses 选项卡。
- 单击您要将队列绑定到的地址的三点图标。
单击 Create Queue。
此时会显示 Create Queue on Address <address name> 对话框
图 4.7. 在 Address 对话框上创建 Queue
完成以下字段:
队列名称
- 队列的唯一名称。
路由类型
选择以下选项之一:
-
多播
:发送到父地址的消息将分发到绑定到该地址的所有队列。 -
anycast
: 只有绑定到父地址的队列才会接收消息的副本。消息将在绑定到地址的所有队列中平均分配。
-
Durable
- 如果选择这个选项,则队列及其消息将具有持久性。
Filter
- 连接到代理时使用的用户名。
Max Consumers
- 在给定时间可以访问队列的最大消费者数。
当没有 Consumers 时清除
- 如果选中,则无用户连接时将清除队列。
- 单击 Create Queue。
4.5.4.4. 检查队列的状态 复制链接链接已复制到粘贴板!
chart 提供代理中队列状态的实时视图。
流程
- 在左侧菜单中,单击 Artemis JMX。
- 在文件夹树中,导航到队列。
单击 Chart 选项卡。
控制台会显示一个图表,显示队列属性的实时数据。
图 4.8. 队列的 Chart 标签页
注意要查看一个地址中的多个队列的图表,请选择包含队列的
anycast
或multicast
文件夹。默认情况下,队列的所有属性会显示在图表中。如果需要,更改 chart 中显示的属性列表:
- 单击 Edit watches。
-
在
Watched attributes
列表中,选择您不想包含在图表中的每个属性旁边的复选框。 - 点向右箭头图标从 chart 中删除所选属性。
- 单击 Close。
4.5.4.5. 浏览队列 复制链接链接已复制到粘贴板!
浏览队列会显示队列中的所有消息。您还可以过滤列表并排序列表以查找特定消息。
流程
- 在左侧菜单中,单击 Artemis。
- 在主窗格中,单击 Queues 选项卡。
- 单击您要浏览的队列的三点图标。
单击 Browse Messages。
此时会显示队列中的消息。默认情况下会显示前 200 个消息。
图 4.9. 浏览队列对话框
要查看消息的内容,请单击消息的三ot图标,然后单击 View。
您可以查看消息正文、标头和属性。
4.5.4.6. 发送消息到队列 复制链接链接已复制到粘贴板!
创建队列后,您可以向它发送消息。
流程
- 在左侧菜单中,单击 Artemis。
- 在主窗格中,单击 Queues 选项卡。
- 单击您要向其发送消息的队列的三点图标。
单击 Send Message。
此时会显示 Send Message to Queue <queue name> 对话框
图 4.10. 发送消息到队列对话框
- 默认情况下,消息会使用您用来登录到 AMQ 管理控制台的凭证发送。如果要使用不同的凭证,请清除 Use Current Logged in User 复选框,并在 Username 和 Password 字段中指定值,这些值在清除复选框后显示。
- 如有必要,点 Add Header 按钮来添加消息标头信息。
- 输入消息正文。
- 在 Format 下拉菜单中,为消息正文格式选择一个选项,然后单击 Format。消息正文以人类可读的样式格式化,用于您选择的格式。
- 单击 Send。
- 要发送附加消息,请更改您输入的任何信息,然后单击 Send。
4.5.4.7. 将消息重新发送到队列 复制链接链接已复制到粘贴板!
您可以重新发送之前发送的消息。
流程
- 浏览您要重新发送的消息。
- 单击您要重新发送的消息的三点图标。
单击 Resend。
此时会显示 Resend Message 对话框。
- 根据需要更新 消息标头和正文,然后单击 Send。
4.5.4.8. 将消息移动到不同的队列中 复制链接链接已复制到粘贴板!
您可以将队列中的一个或多个消息移到不同的队列中。
流程
- 浏览您要移动的消息。
- 点击您要移动的每个消息旁边的复选框。
单击 Move。
此时会显示确认对话框。
- 从下拉菜单中,选择要将消息移到的队列的名称。单击 Confirm。
4.5.4.9. 删除消息或队列 复制链接链接已复制到粘贴板!
您可以删除队列中的所有消息并保留队列,或者删除队列及其包含的任何消息。
流程
- 在左侧菜单中,单击 Artemis。
- 在主窗格中,单击 Queues 选项卡。
单击您要清除或删除的队列的三点图标。
- 要删除所选队列中的所有消息,而不删除队列,请单击 Purge。
- 要删除所有消息和队列本身,请单击 Delete。
- 在确认对话框中,单击 Confirm。