默认租户/命名空间
Pulsar 内置了对多租户的支持。 在 Pulsar 中生成或消费消息时,指定的 topic 实际上是以下格式的 topic URL:
(persistent|non-persistent)://tenant/namespace/topic
URL 指示作针对的租户和命名空间。
但是,当不是完全限定时(即仅指定了主题名称),则默认租户public
和 namespace 的default
被使用。
Spring for Apache Pulsar 允许你指定在针对非完全限定的主题 URL 生成或使用消息时使用的默认租户和/或命名空间。
配置
使用 Spring Boot
使用 Spring Boot 时,您只需将spring.pulsar.defaults.topic.tenant
和spring.pulsar.defaults.topic.namespace
application 属性来指定这些默认值。
如果您想禁用此功能,只需将spring.pulsar.defaults.topic.enabled
property 设置为false
.
不使用 Spring Boot
但是,如果您改为手动配置组件,则必须提供PulsarTopicBuilder
在构建相应的 producer 或 consumer factory 时配置所需的 default topic 和 namespace。
所有默认的 consumer/reader/producer 工厂实现(imperative 和 reactive)都允许指定主题构建器。
您需要在每个手动配置的工厂上指定要使用默认 tenant/namespace 的主题构建器 |