我看到 NC_ 客户端 ID,这是什么意思
常见问题解答 > 使用 Apache ActiveMQ Classic > 我看到 NC_ 客户端 ID,这是什么意思
使用 **NC** 前缀的持久订阅 ClientId 和 SubscriptionName 是 代理网络 中持久订阅的结果。
当持久订阅由网络连接器(或按需转发桥接)转发时,网络持久订阅需要比创建它的订阅存活更长时间。这通过使用可以轻松映射到原始订阅的已知名称来实现 clientId 和 subscriptionName。使用前缀 NC_ 和 NC-DS_,其中 NC 表示网络连接器,DS 表示持久订阅。该前缀与本地代理名称和目标目标组合在一起。
预期与这些订阅关联的 connectionId 在重新连接时可能会更改,但持久订阅会保留。这样,即使在源代理和转发代理之间存在网络分区,持久订阅也可以继续接收消息。
在重新启动时,NC 持久订阅默认情况下会被激活,以确保不会丢失任何消息。如果丢失消息是可以接受的,则可以在远程代理上再次激活原始订阅并将其传播到网络连接器时,动态确保 NC 持久订阅被激活。网络连接器配置的“dynamicOnly”属性用于控制此行为。
只有在取消订阅原始持久消费者时,才会删除 NC 持久订阅。