2015-04-24 43 views
2

申报队列现在我可以这样做:提取头没有标注

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

我可以不用在标注本身宣称队列?

+0

目前尚不清楚你的意思;监听器必须被配置为从某个队列中消耗。 –

+1

,但这个队列可能没有像这种情况下静态定义,我希望能够将此消费者绑定到我想要的任何队列,而不使用注释,因为注释意味着我知道编译时队列的名称,并且我也许不知道。 –

+0

您可以使用属性占位符'$ {...}'或SpEL表达式'#{...}'作为队列名称;它们将在bean初始化时解析。 –

回答

3

目前尚不清楚你的意思;监听器必须被配置为从某个队列或队列中消耗。

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