本文介绍了如何创建和管理用于 Spark 消息传递的队列。您可以了解有关开发人员门户中的 Spark 消息传递的更多信息。
访问 Spark 队列管理
从管理 > 连接 > Spark 队列查看和管理队列。您必须拥有授予管理:队列权限的安全配置文件才能使用队列。
如何创建 Spark 队列
要创建新队列:
- 从 Spark 队列页面中,单击创建。
- 为此队列输入标签。这是在 Vault UI 中向管理员显示的标签。
- Vault 会自动填充名称字段。这是从 Vault Java SDK 代码调用该队列时的队列名称。字符之间只允许使用小写字母、字母数字字符和下划线 (_)。
- 为此队列选择状态。只有活动队列可以接受消息。
- 可选:为此队列输入描述。
- 选择队列类型。如果您希望此队列发送消息,请选择出站。如果您希望此队列接收消息,请选择入站。
- 如果您的队列类型为入站,请选择 Spark 消息处理器。这些是使用 Vault Java SDK 创建的自定义 Vault 扩展,旨在处理消息。您可以在 Vault 的管理 > 连接 > Spark 消息处理器中查看 Spark 消息处理器的详细信息。
- 如果您的队列类型为入站,请选择 Spark 消息处理器用户。该用户将处理传递到此队列的消息。
- 可选:如果您的队列类型为出站,请选择 Spark 消息传递事件处理程序和 Spark 消息传递处理程序用户。了解开发人员门户中的 Spark 消息传递事件处理程序。
- 可选:如果必须按顺序处理要发送到此队列的消息,即按接收顺序一条接一条地处理,请选择按顺序处理消息。通常不建议选择此选项,因为它会导致消息积压在队列中并减慢传递速度。
- 可选:当消息未能进入队列时如果您希望此队列继续处理事务,请取消选择出错时回滚。否则,若未能将消息放入此队列,将回滚整个事务。
- 单击保存。
创建队列后,您可能想要添加队列连接。了解有关创建连接的更多信息。
管理队列连接
如果队列附加到连接,它将显示在队列的详细信息页面的队列连接节段下。此节段显示与队列连接相关的各种详细信息,例如连接类型、URL 和连接名称。
从详细信息页面中,可以创建更多队列连接,或从操作菜单中查看、编辑和删除此队列上的现有连接。
如何停用 Spark 队列
如果您希望 Spark 队列停止接收消息,必须将队列状态设置为非活动。设置为非活动后,队列无法接受任何新消息。
这不会阻止队列处理已经在队列中的消息。例如,如果在停用出站队列之前该队列中已有消息,则仍会发送这些消息。如果您希望停止发送队列中已经存在的消息,则必须禁用传递。
要停用队列:
- 在队列详细信息页面中,单击编辑。
- 将状态设置为非活动。
- 单击保存。
非活动队列将立即停止接受消息。如果您想重新激活此队列,则可以使用相同的流程来执行此操作。一旦队列处于活动状态,将再次开始接受消息。
如何禁用传递
如果您希望出站 Spark 队列停止传递现有消息,则必须禁用该队列。这样可以阻止任何消息离开队列,但不会阻止新消息进入队列。例如,传递状态设置为已禁用的活动队列仍将允许新消息进入队列,但没有任何消息会离开队列。
要禁用队列:
- 导航到您希望禁用传递的出站队列。
- 从操作菜单中,选择禁用传递。
- 该队列现已禁用。在队列详细信息中,传递状态现在显示为已禁用。
如果您希望此队列再次开始传递消息,可以使用相同的流程启用该队列。
此选项不适用于入站队列,因为入站队列处理接收到的消息而不是传递消息。无法阻止入站队列处理现有消息。如果您有入站队列,其中包含您不想处理的现有消息,则必须重置该队列。
如何删除 Spark 队列中的所有消息
即使更改队列的状态或传递状态,也不会删除该队列中的任何消息。例如,传递状态设置为已禁用的非活动队列无法发送或接收消息,但队列中的任何消息仍然存在。如果您不再需要这些消息,可以重置队列。
此操作为永久操作,不可撤销。
要重置队列:
- 导航到您要重置的队列。
- 单击重置队列。
- 阅读警告后,单击继续。
- 该流程完成后,您将收到绿色横幅通知,表明 Vault 已成功重置队列。