4.5. 使用 AMQ 管理控制台管理代理
您可以使用 AMQ Management Console 查看有关正在运行的代理和管理以下资源的信息:
- 传入网络连接(接收器)
- 地址
- 队列
4.5.1. 查看代理详情
要查看如何配置代理,请在左侧菜单中,单击 Automatically。在文件夹树中,默认选择本地代理。
在主窗格中,有以下标签页可用:
状态
显示代理的当前状态信息,如正常运行时间和集群信息。另外,还显示代理当前使用的地址内存量。图显示这个值作为
global-max-size
配置参数的比例。图 4.2. Status 选项卡
连接
- 显示代理连接的信息,包括客户端、集群和网桥连接。
sessions
- 显示有关当前在代理上打开的所有会话的信息。
消费者
- 显示代理当前打开的所有消费者的信息。
producers
- 显示代理当前打开的生产者信息。
地址
- 显示代理中地址的信息。这包括内部地址,如 store-and-forward 地址。
队列
- 显示代理上队列的信息。这包括内部队列,如 store-and-forward 队列。
属性
- 显示代理上配置的属性的详细信息。
操作
- 显示可以从控制台在代理上执行的 JMX 操作。当您点一个操作时,会打开对话框,供您为操作指定参数值。
chart
- 显示代理上配置的属性的实时数据。您可以编辑 chart,以指定 chart 中包含的属性。
代理图
- 显示集群拓扑图。这包括集群中的所有代理以及本地代理的任何地址和队列。
4.5.2. 查看代理图
您可以查看拓扑中的所有 AMQ Broker 资源图表,包括代理(live 和 backup 代理)、生产者和消费者、地址和队列。
流程
- 在左侧菜单中,单击 Artemis。
在主窗格中,点击 Broker diagram 选项卡。
控制台显示集群拓扑图。这包括集群中的所有代理以及本地代理上的地址和队列,如图所示。
图 4.3. 代理图表 标签页
- 要更改图表中显示的项目,请使用图表顶部的复选框。点 Refresh。
要显示本地代理或连接的地址或队列的属性,请点击图表中的该节点。例如,下图显示了一个图表,其中还包含本地代理的属性。
图 4.4. 代理图 标签页,包括属性
4.5.3. 查看接收器
您可以查看为代理配置的接收器详情。
流程
- 在左侧菜单中,单击 Artemis。
- 在文件夹树中,单击 接收器。
要查看有关如何配置接收器的详细信息,请单击 acceptor。
控制台在 Attributes 选项卡上显示对应的属性,如图中所示。
图 4.5. AMQP 接受器属性
- 要查看属性的完整详情,请点击 属性。此时会打开一个额外的窗口来显示详情。
4.5.4. 管理地址和队列
地址代表消息传递端点。在配置中,为典型的地址提供一个唯一名称。
队列与地址相关联。每个地址可以有多个队列。传入的消息与地址匹配后,该消息将发送到一个或多个队列,具体取决于配置的路由类型。可以将队列配置为自动创建和删除队列。
4.5.4.1. 创建地址
典型的地址被授予唯一的名称、零个或多个队列,以及路由类型。
路由类型决定了如何将消息发送到与地址关联的队列。可以使用两个不同的路由类型配置地址。
如果您希望您的消息被路由到… | 使用此路由类型… |
匹配地址内的单个队列,以点对点的方式进行。 | 任播 |
匹配地址中的每个队列,以发布与订阅的方式进行发布。 | 多播 |
您可以创建和配置地址和队列,然后在不再使用它们时将其删除。
流程
- 在左侧菜单中,单击 Artemis。
- 在文件夹树中,点 地址。
在主窗格中,单击 Create address 选项卡。
此时会出现一个页面供您创建一个地址,如下图所示。
图 4.6. 创建地址页面
完成以下字段:
地址名称
- 地址的路由名称。
路由类型
选择以下选项之一:
-
多播
:发送到地址的消息将以发布与订阅方式分发给所有订阅者。 -
任播
:发送到此地址的消息将以点对点的方式仅发给一个订阅者。 两者
:使您能够为每个地址定义多个路由类型。这通常会产生一个反模式,我们不推荐这样做。注意如果地址同时使用路由类型,且客户端没有显示其首选,则代理会默认使用
anycast
路由类型。一个例外是,当客户端使用 [...] 协议时。在这种情况下,默认路由类型是多播
。
-
- 点 Create Address。
4.5.4.2. 发送消息到地址
以下流程演示了如何使用控制台向地址发送消息。
流程
- 在左侧菜单中,单击 Artemis。
- 在文件夹树中,选择一个地址。
在主窗格的导航栏中,单击
。 此时会出现一个页面来创建一个信息,如下图所示。
图 4.7. 发送消息页
- 如果需要,点击 Add Header 按钮来添加消息标头信息。
- 输入邮件正文。
- 在 Format 下拉菜单中选择消息正文格式的选项,然后点 Format。邮件正文以人类可读样式格式化,用于您选择的格式。
单击 Send 消息。
邮件被发送。
- 要发送额外消息,请更改您输入的任何信息,然后单击 Send 消息。
4.5.4.3. 创建队列
队列提供制作者和消费者之间的频道。
先决条件
- 要绑定队列的地址必须存在。要了解如何使用控制台创建地址,请参阅 第 4.5.4.1 节 “创建地址”。
流程
- 在左侧菜单中,单击 Artemis。
- 在文件夹树中,选择要绑定队列的地址。
在主窗格中,单击 Create queue 选项卡。
系统会显示一个页面,供您创建一个队列,如图所示。
图 4.8. 创建队列页面
完成以下字段:
队列名称
- 队列的唯一名称。
路由类型
选择以下选项之一:
-
多播
:发送到父地址的消息将分发到所有绑定到地址的队列。 -
任播
:只有一个绑定到父地址的队列将收到消息的副本。消息会在绑定到地址的所有队列中均匀分布。
-
durable
- 如果选择这个选项,则队列及其消息将具有持久性。
Filter
- 连接到代理时使用的用户名。
max Consumers
- 在给定时间可以访问队列的最大用户数量。
当没有消费者时清除
- 如果选中,则队列将在没有用户连接时清除。
- 单击 Create Queue。
4.5.4.4. 检查队列的状态
chart 为代理上的队列状态提供实时视图。
流程
- 在左侧菜单中,单击 Artemis。
- 在文件夹树中,导航到队列。
在主窗格中,单击 Chart 选项卡。
控制台会显示一个图表,显示所有队列属性的实时数据。
图 4.9. 队列的图表标签
注意要查看地址上多个队列的图表,请选择包含队列的
任播
或多播
文件夹。如果需要,为 chart 选择不同的条件:
- 在主窗格中,单击 编辑。
-
在
Attributes
列表中,选择要包含在图表中的一个或多个属性。要选择多个属性,请按 并按住 Ctrl 键并选择每个属性。 - 点 View Chart 按钮。根据您选择的属性更新图表。
4.5.4.5. 浏览队列
浏览队列可显示队列中的所有消息。您还可以过滤列表并排序列表来查找特定的消息。
流程
- 在左侧菜单中,单击 Artemis。
在文件夹树中,导航到队列。
队列位于其绑定到的地址中。
在主窗格的导航栏中,单击
。 此时会显示队列中的消息。默认情况下会显示前 200 信息。
图 4.10. 浏览 Queue 页面
要浏览特定消息或一组信息,请执行以下操作之一:
to… 这些以下操作 过滤信息列表
在
Filter…
文本字段中,输入过滤器条件。点击搜索(即放大镜图标)。对信息列表进行排序
在消息列表中,点击列标题。要以降序方式对消息进行排序,请再次单击标题一。
要查看邮件的内容,请单击 Show 按钮。
您可以查看邮件标头、属性和正文。
4.5.4.6. 将消息发送到队列
创建队列后,您可以向它发送消息。以下流程概述了向现有队列发送消息所需的步骤。
流程
- 在左侧菜单中,单击 Artemis。
- 在文件夹树中,导航到队列。
在主窗格中,单击 Send 消息 选项卡。
系统会显示一个页面,供您编写消息。
图 4.11. 发送队列的消息页
- 如果需要,点击 Add Header 按钮来添加消息标头信息。
- 输入邮件正文。
- 在 Format 下拉菜单中选择消息正文格式的选项,然后点 Format。邮件正文以人类可读样式格式化,用于您选择的格式。
- 单击 Send 消息。邮件被发送。
- 要发送附加消息,请更改您输入的任何信息,然后单击 Send 消息。
4.5.4.7. 将消息重新发送到队列
您可以重新发送的信息。
流程
- 浏览您要重新发送的消息。
- 点您要重新发送的消息旁边的复选框。
- 点 Resend 按钮。此时会显示这个信息。
- 根据需要更新 邮件标题和正文,然后单击 Send 消息。
4.5.4.8. 将消息移动到不同的队列
您可以将队列中的一个或多个消息移动到不同的队列中。
流程
- 浏览您要移动的消息。
- 点您要移动的每个消息旁边的复选框。
在导航栏中,单击 Move Messages。
此时会出现确认对话框。
- 在下拉菜单中选择您要移动消息的队列名称。点 Move。
4.5.4.9. 删除消息或队列
您可以删除队列或清除队列中的所有消息。
流程
- 浏览要删除的队列或清除。
执行以下操作之一:
to… 这些以下操作 从队列中删除消息
- 点您要删除的每个消息旁边的复选框。
- 点击 Delete 按钮。
清除队列中的所有消息
- 在主窗格的导航栏上,单击 Delete queue。
- 点 Purge Queue 按钮。
删除队列
- 在主窗格的导航栏上,单击 Delete queue。
- 单击 Delete Queue 按钮。