使用 spring-rabbit 从消息中提取 headers 而无需在注释中声明 queues

Extract headers from message using spring-rabbit without declaring queues in annotation

现在我可以这样做了:

@RabbitListener(queues = {ENTITY_KEY + "-snapshots",  ENTITY_KEY + "-updates"})
public void handleMessage(ProviderOddsOffer offer, @Header("update_type") Long updateType) {
    ...
}

我可以不在注释本身中声明 queues 吗?

不清楚你的意思;侦听器必须配置为从某个队列或多个队列中使用。

如果您的意思是希望外部化队列名称而不是在 java 中进行硬编码,您可以使用 属性 占位符 ${...} 或 SpEL队列名称的表达式#{...};它们将在 bean 初始化期间解决。