使用spring-rabbit从消息中提取标头,而不在注释中声明队列

时间:2015-04-24 15:34:15

标签: java rabbitmq messaging spring-rabbit spring-rabbitmq

现在我可以这样做:

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

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

1 个答案:

答案 0 :(得分:3)

目前尚不清楚你的意思;必须将侦听器配置为使用某个队列或队列。

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