基于Springboot的rabbitTemplate的Publisher和Consumer初始化
Publisher
- 初始化的bean(声明new 的queue或者exchange)不会连接broker(Rabbit),在开始rabbitTemplate.convertAndSend时才会连接。
- 消息发布到没有声明的exchange会报错,声明exchange和queue,Rabbit会创建,如果没有的话。
- 如果exchange没有绑定queue,消息(默认false)会被抛弃。
- 如果exchange没有绑定queue,消息又被设置true,则消息会被返回。
Consumer
- 注意@RabbitListener(queues = "name_queue")会让客户端连接broker并开始监听name_queue,但不会创建此queue,
也就是如果broker里没有name_queue的话就会异常,因此在监听之前确保queue被声明。