-
step1. 数据入库同时消息(msg)入库
step2.发送消息
step3.请求确认 confirm
step4.读取数据库msg消息修改状态status:1
step5.但发送消息网络中断,通过定时任务查询状态为status:0的消息
step6.抓取消息,重新投递
step7.最大尝试次数 3次 不能成功则状态修改为2。
查看全部 -
@Component
public class ContentInfoSender {
@Autowired
private RabbitTemplate rabbitTemplate;
public void sendContentInfo(ContentInfo contentInfo){
rabbitTemplate.convertAndSend(Constants.CONTENTEXCHANGE,Constants.CONTENTQUEUE + contentInfo.getMsgInfo().getAcceptUserId(),contentInfo);
}
}查看全部 -
<!--整合rabbitmq-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>rabbitmq:
host:
port: 5672
username:
password:
virtual-host:
connection-timeout:查看全部 -
手工签收模式必须依赖于channel
查看全部 -
topic模式,模糊匹配
查看全部 -
发送消息的方法介绍convertAndSend
查看全部 -
消息的优先级,延迟等
查看全部 -
课程总结
查看全部 -
RabbitMQ简介
查看全部 -
课程大纲
查看全部 -
设计方案
查看全部 -
1
查看全部 -
1
查看全部 -
整体架构
Server:又称为Broker,接受客户端的连接,实现AMQP实体服务
Connection:连接,应用程序与Broker的网络连接
Channel:网络信道,几乎所有的操作都在Channel中进行,Channel是进行消息读写的通道。客户端可建立多个channel,每个Channel代表一个会话任务。
Message:消息。服务器和应用程序之间传送的数据,由Properties和Body组成。Properties可以对消息进行修饰,比如消息的优先级,延迟等高级特性;Body则是消息体内容。
Virtual host:虚拟地址,用于进行逻辑隔离,最上层的消息路由。一个Virtual Host里面可以有若干个Exchange和Queue,同一个Virtual Host里面不能有相同名称的Exchange或queue
Exchange:交换机,接收消息,根据路由键转发消息到绑定的队列。
Binding: Exchange 和Queue之间的虚拟连接,binding中可含有routing key。
Routing key: 一个路由规则,虚拟机可用它来确定如何路由一个特定消息。
Queue: 也称为Message Queue,消息队列,保持消息并将他们转发给消费者。
消息如何流转
生成者指定发送的Exchange和routing key,并发送信息到Exchange
exchange根据routing key ,把消息放到对应的Message Queue
消费者根据监听的Message Queue,来进行消费。
消息如何流转
1、生成者指定发送的Exchange和routing key,并发送信息到Exchange
2、exchange根据routing key ,把消息放到对应的Message Queue
3、消费者根据监听的Message Queue,来进行消费。
查看全部 -
消息队列测试
查看全部
举报