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

时间:2018-06-01 08:03:11

标签: spring-jms solace

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

  1. 在Solace Admin UI中,似乎我们无法设置主题端点的订阅,如队列,是否安慰管理UI问题? enter image description here
  2. 当我使用安慰JMS API将消息发布到主题时,如果此主题没有持久订阅(队列/主题端点),它将创建一个主题具有随机名称和订阅主题的端点,例如: enter image description here
  3. 当我使用安慰JMS API来订阅主题“T / sampleTopic”时,它还会创建一个具有随机名称和订阅主题名为T / sampleTopic的非持久主题端点。
  4. 当我使用安慰JMS API来订阅主题“T / sampleTopic”并指定subscription duration为true时,它还会创建一个具有默认名称的持久主题端点(org.springframework.jms.listener .adapter.MessagingMessageListenerAdapter)和订阅的主题名为T / sampleTopic。
  5. 当我使用安慰JMS API来订阅主题“T / sampleTopic”并指定subscription for durable和setup subscription name with“T / sampleTopic”时,它会报告错误:错误响应(400) - 端点属性不匹配,在我删除原始主题端点“T / sampleTopic”并再次运行后,它会创建一个“预期”主题端点: enter image description here
  6. 所以,我不知道如何使用JMS API来使用solace主题端点。

1 个答案:

答案 0 :(得分:0)

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

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

  2. 仅当JMS应用程序使用MessageConsumer或持久订阅者时,才会创建主题端点。它与发布商无关。

  3. 听起来您正在使用订阅主题“T / sampleTopic”的MessageConsumer。关于主题的MessageConsumers在内部映射到非持久主题端点。

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

  5. 听起来您在连接工厂中启用了“Dynamic Durables”,这会导致Solace JMS API创建端点。 “端点属性不匹配”表示API尝试创建的端点包含一个或多个与已存在的属性不匹配的属性。由于启用了“Dynamic Durables”,因此您应该创建端点到API。请注意,“动态耐用品”的默认设置已禁用。