默认租户 / 命名空间
Pulsar 内置支持 多租户。在 Pulsar 中生产或消费消息时,指定的主题实际上是一个具有以下格式的主题 URL:
(persistent|non-persistent)://tenant/namespace/topic
URL 规定了操作所针对的租户和命名空间。然而,当 URL 不是完全限定的(即仅指定了主题名称)时,将使用默认的 public
租户和 default
命名空间。
Spring for Apache Pulsar 允许你在针对非完全限定的主题 URL 发送或接收消息时,指定一个默认的 tenant 和/或 namespace。
配置
使用 Spring Boot
当你使用 Spring Boot 时,你可以简单地设置 spring.pulsar.defaults.topic.tenant 和 spring.pulsar.defaults.topic.namespace 应用属性来指定这些默认值。
如果你想要禁用此功能,只需将 spring.pulsar.defaults.topic.enabled
属性设置为 false
。
Without Spring Boot
然而,如果你是手动配置组件,则在构建相应的生产者或消费者工厂时,必须提供一个配置了所需默认主题和命名空间的 PulsarTopicBuilder
。所有默认的消费者/读取者/生产者工厂实现(命令式和反应式)都允许指定一个主题构建器。
备注
您需要在每个手动配置的工厂上指定主题构建器,以便使用默认的租户/命名空间。