Java 使用SpringRabbit从消息中提取头,而不在注释中声明队列

Java 使用SpringRabbit从消息中提取头,而不在注释中声明队列,java,rabbitmq,messaging,spring-rabbit,Java,Rabbitmq,Messaging,Spring Rabbit,现在我可以这样做: @RabbitListener(queues = {ENTITY_KEY + "-snapshots", ENTITY_KEY + "-updates"}) public void handleMessage(ProviderOddsOffer offer, @Header("update_type") Long updateType) { ... } 我可以不在注释中声明队列就完成它吗?不清楚您的意思;必须将侦听器配置为从某个或多个队列中使用 如果这意味着您希望

现在我可以这样做:

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

我可以不在注释中声明队列就完成它吗?

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


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

不清楚你的意思是什么;必须将侦听器配置为从某个队列使用。确切地说,此队列可能不是像本例中那样静态定义的,我希望能够将此使用者绑定到我想要的任何队列,而不使用注释,因为注释意味着我在编译时知道队列的名称,您可以使用属性占位符
${…}
或SpEL表达式
{…}
作为队列名称;这些问题将在bean初始化期间解决。是的,谢谢,我应该关闭问题还是您将发布答案?完成;将我的评论移至答案。