Java Pulsar消息总线:我们可以为每个主题配置消息保留吗?

Java Pulsar消息总线:我们可以为每个主题配置消息保留吗?,java,apache-pulsar,Java,Apache Pulsar,我们有一个用例,在这个用例中,我们的消息处理器对来自少数主题的消息进行非常复杂的计算来处理消息。这些计算未在配置的租用期内完成。 我们可以为需要将消息保留更长时间的少数主题设置此选项,而不是为所有主题全局增加消息保留时间吗? 每个主题的邮件保留是可能的?这正是我们为之设计的用例。在Pulsar中,命名空间是租户中包含主题子集的管理单元。命名空间上设置的配置策略适用于在该命名空间中创建的所有主题。解决此问题的最佳方法是使用RESTAPI或创建新命名空间,例如 pulsar-admin namesp

我们有一个用例,在这个用例中,我们的消息处理器对来自少数主题的消息进行非常复杂的计算来处理消息。这些计算未在配置的租用期内完成。 我们可以为需要将消息保留更长时间的少数主题设置此选项,而不是为所有主题全局增加消息保留时间吗?
每个主题的邮件保留是可能的?

这正是我们为之设计的用例。在Pulsar中,命名空间是租户中包含主题子集的管理单元。命名空间上设置的配置策略适用于在该命名空间中创建的所有主题。解决此问题的最佳方法是使用RESTAPI或创建新命名空间,例如

pulsar-admin namespaces create <current-tenant>/<a-new-namespace>
pulsar管理命名空间使用CLI工具创建/用于新命名空间,例如

$ pulsar-admin namespaces set-retention <current-tenant>/<a-new-namespace> \
  --size -1 \
  --time -1
$pulsar管理命名空间集保留/\
--尺寸-1\
--时间-1

最后,您需要在新名称空间中重新创建主题,并更改代码以使用这些新主题。

如果您对主题使用订阅,则不必担心邮件保留问题。无论保留设置如何,在确认订阅待办事项中的邮件之前,不会删除这些邮件。只需在客户端使用消费者界面,并在计算完成后确认每条消息

有关保留和订阅积压的更多详细信息,请参阅