rabbitmq可以把不同的消息msg.item.#,放在一个队列里,然后通过msg.item.aa,msg.item.bb让不同消费者消费吗?

不可以!!!

routingkey不能用于在队列里筛选msg。

rabbitmq是基于队列的,不是基于消息的,所有对消息具体内容的解析,都应该放在消费者那里。

只是你可以根据消息的来源或者其他内容,给消息分类,产生不同的queue.

然后,将queue跟不同的exchange绑定,产生routingkey(fanout不需要)。

routingkey,“路由关键字”。他只是用来找queue的。不是用来找消息的。

一致queue,和routingkey绑定,routingkey=log.metadata.aa.#,下面即使这样明确key=log.metadata.aa.a1,log.metadata.a2,也会随机消费的!!

@RabbitHandler
	@RabbitListener(bindings=@QueueBinding(value=@Queue(value = MQConstant.SongRollback_Queue),exchange = @Exchange(MQConstant.SongRollback_Exchange),key = "log.metadata.aa.a1"),containerFactory="rabbitListenerContainerFactory")
	public void consumeOffSongMsg(@Payload SongMessage songMessage, Message message, Channel channel)  {
}
	

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值