这是我的@RabbitLister代码:
@RabbitListener(queues = device.*)
我希望这个侦听器能够侦听由我的经纪人设备创建的所有队列,其中*是设备ID,例如:device.1
目前,当我启动我的应用并且没有创建队列时,我得到了例外:
ShutdownSignalException: channel error; protocol method: #method<channel.close>(reply-code=404, reply-text=NOT_FOUND - no queue 'device.*' in vhost '/'
我做错了什么?
答案 0 :(得分:1)
AMQP / RabbitMQ不支持队列名称中的通配符/模式。
设备只应使用路由密钥向交换机发送消息;消费者对排队而不是生产者负责。
使用路由密钥topic
等进行device.1
交换,并使用路由密钥device.#
绑定单个队列。