安慰主题端点用例是什么?

What's the solace topic endpoint use case?

我们知道安慰 topic 只是消息 属性,并且有 JMS 兼容的主题端点,但根据我的测试 (VMR 8.10.0.1092):

  1. 在 Solace Admin UI 中,我们似乎无法像队列一样设置主题端点的订阅,这是 solace admin UI 的问题吗?
  2. 当我使用 solace JMS API 将消息发布到 topic 并且如果此 [=17] 没有持久订阅(queue/topic 端点) =]topic,它将创建一个具有随机名称和订阅主题的主题端点,例如:
  3. 当我使用 solace JMS API 订阅主题 "T/sampleTopic" 时,它还会创建一个具有随机名称和订阅主题的非持久主题端点,名为 T/sampleTopic.
  4. 当我使用 solace JMS API 订阅主题 "T/sampleTopic" 并将订阅持久指定为 true 时,它​​还会创建一个默认的 durable 主题端点name(org.springframework.jms.listener.adapter.MessagingMessageListenerAdapter) 和名为 T/sampleTopic.
  5. 的订阅主题
  6. 当我使用 solace JMS API 订阅主题 "T/sampleTopic" 并指定订阅持久为 true 并使用 "T/sampleTopic" 设置订阅名称时,它报告错误:错误响应 (400) - 端点 属性 不匹配 ,在我再次删除原始主题端点 "T/sampleTopic" 和 运行 之后,它会创建一个 "expected"主题端点:

所以,我不知道如何在 JMS 中使用安慰主题端点 API。

主题端点是用于假脱机保证消息的两种端点之一。与队列不同,主题端点提供入口选择器,但只能订阅一个主题(允许使用通配符)。

  1. 没有。主题端点的订阅只能由应用程序而不是 UI.

  2. 管理
  3. 主题端点仅在 JMS 应用程序使用 MessageConsumer 或持久订阅者时创建。与出版商无关

  4. 听起来您正在使用订阅主题 "T/sampleTopic" 的 MessageConsumer。主题上的 MessageConsumers 在内部映射到非持久主题端点。

  5. 是的,这是预料之中的。持久订阅将在内部映射到持久主题端点。

  6. 听起来您在连接工厂中启用了 "Dynamic Durables",这会导致 Solace JMS API 创建端点。 "Endpoint Property Mismatch" 表示 API 正在尝试创建的端点包含一个或多个与已存在的属性不匹配的属性。由于 "Dynamic Durables" 已启用,因此您应该将端点的创建留给 API。请注意,"Dynamic Durables" 的默认设置是禁用的。