如何在Spring-Pulsar中配置租户与命名空间?
Spring Pulsar 配置默认租户与命名空间
完全可以通过配置文件设置全局默认的租户和命名空间,不用再手动拼接完整主题名称,具体配置和使用方式如下:
全局配置(application.yml)
直接在配置文件中指定默认租户和命名空间:
spring: pulsar: default: tenant: 自定义租户名 namespace: 自定义命名空间名
配置后的使用效果
配置完成后,定义生产者或消费者时只需指定主题的局部名称,Spring Pulsar会自动拼接成完整的主题路径(格式为 persistent://租户名/命名空间名/主题名)。
生产者示例
@Bean public ProducerFactory<String> producerFactory(PulsarClient pulsarClient) { return new DefaultProducerFactory<>(pulsarClient, ProducerConfig.builder() .topic("my-business-topic") // 仅需指定主题名,自动拼接租户和命名空间 .build()); }
消费者示例
@Bean public ConsumerFactory<String> consumerFactory(PulsarClient pulsarClient) { return new DefaultConsumerFactory<>(pulsarClient, ConsumerConfig.builder() .topic("my-business-topic") .subscriptionName("my-sub") .build()); }
局部覆盖配置
如果个别生产者/消费者需要使用不同的租户或命名空间,可在对应的配置中显式指定,优先级高于全局配置:
ProducerConfig.builder() .tenant("临时租户") .namespace("临时命名空间") .topic("my-business-topic") .build()
内容的提问来源于stack exchange,提问作者user3120289
相关产品推荐
相关产品推荐

