Rabbitmq spring集成amqp,如何通过路由键获取消息

Rabbitmq spring集成amqp,如何通过路由键获取消息,rabbitmq,spring-integration,amqp,Rabbitmq,Spring Integration,Amqp,我需要帮助如何使用spring集成DSL和amqp构建这种行为模式。 我有三种类型的消息,我需要按消费者从队列中消费一种类型的消息,并且仅当消费者在队列中没有此类型的任务超过30秒时,才查找第二种类型的任务或第三种类型的任务 您的逻辑看起来像是(Amqp.inboundAdapter()中的之后的.filter() filter必须查看一些共享组件(是的,Queue可以),并决定在true和false情况下如何处理该消息 为此,您也可以查看。 它有元数据存储选项,可以用作该共享组件。当然,最终其

我需要帮助如何使用spring集成DSL和amqp构建这种行为模式。
我有三种类型的消息,我需要按消费者从队列中消费一种类型的消息,并且仅当消费者在队列中没有此类型的任务超过30秒时,才查找第二种类型的任务或第三种类型的任务

您的逻辑看起来像是(Amqp.inboundAdapter()中的
之后的
.filter()

filter
必须查看一些共享组件(是的,
Queue
可以),并决定在
true
false
情况下如何处理该消息

为此,您也可以查看。
它有
元数据存储
选项,可以用作该共享组件。当然,最终其他一些组件必须从存储中删除一个条目,以允许接受同一类型的下一条消息。

您不能在amqp中按内容从单个队列中选择消息。您需要将消息路由到不同的队列

您可以为第一种类型配置消息驱动适配器


然后,启动一个计时器,如果30秒过去了,那么在其他队列上使用
rabbitmplate
receive操作。

Ok。我用非常类似的方法解决了这个问题。只需使用SimpleMessageListenerContainer并通过添加或删除队列管理队列消耗的内容。消息通过路由键路由。