创建队列
将交换机、队列和绑定装配到容器中,如果RabbitMQ中没有就会自动创建
创建队列设置参数
创建交换机

交换机和队列绑定
交换机和丢列绑定的时候指定路由,一个交换机可以绑定多个队列
发送消息
发送消息时指定交换机的名字
发送消息时默认使用的是流的方式,如果要使用JSON序列化的方式,需要配置
接收消息
监听队列消息,使用@RebbitListener+@RabbitHandler来接收消息

@RabbitHandler接收同一队列不同的消息
消息确认机制
保证消息不丢失,可靠抵达,可以使用事务消息,性能会下降250倍,为此引入确认机制。
生产端确认
生产端确认,可靠抵达-confirmCallback
只能保证消息发送到了服务器,不能保证消息被投递到了目标队列
开启confirmCallback需要添加配置,消息发送到服务器
相关配置
定制RabbitTemplate
消费端确认
默认情况下是自动确认的,当客户端拿到消息后就会立即确认,然后服务器就会把消息删除。这样就会出现一个问题,就是当客户端拿到消息还没有去完成相应的操作就突然挂了,这样就丢失了消息。
改为手动ACK需要添加配置,手动模式下,只要不确认,服务器的消息就不会被删除。
接收消息的时候手动确认签收
拒绝消息签收
