首页 > 解决方案 > 与 LinkName 有什么关系?

问题描述

我是 AMQP 的新手,试图理解这个概念,所以我的问题可能非常幼稚。

我正在向 ActiveMQ 代理发送消息,并且在发送消息时,我必须提到 LinkName 但这并不重要,我在消费者端和生产者端放了什么,我仍然在接收数据。

我很困惑 LinkName 是怎么回事?

标签: amqp

解决方案


我不能说它比AMQP 1.0 规范的第 2.6.1 节更好:

2.6.1 命名链接

链接被命名,以便在通信中断时可以恢复它们。链接名称必须唯一标识两个参与容器之间相同方向的所有链接中的链接。链接名称仅在附加链接时使用,因此它们可以任意长而不会造成重大损失。

一个链接的名字唯一地标识了从源节点的容器到目标节点的容器的链接,即如果源节点的容器是A,目标节点的容器是B,那么这个链接可以被全局标识为(有序)元组 (A,B,<name>)。因此,一个链接一次只能在一个连接中处于活动状态。如果随后尝试在链接未暂停的情况下附加链接,则链接可能被“窃取”,即第二次附加成功,然后必须关闭第一次附加,并出现链接错误被盗的情况。此行为确保在发生连接故障并被一方注意到的情况下,重新建立具有预期的效果。


推荐阅读