Java阻塞队列简介
摘要:个人理解 总体认知 本质上是**队列**,但是并不一定是FIFO的,比如PriorityBlockingQueue 阻塞: 线程的状态 生产者阻塞: 队列满 消费者阻塞: 队列空 只要对阻塞队列有一个整体的认知,相信理解其各种实现就很轻松了。 如果没有BlockingQueue 如果没有Blocki
阅读全文
SpringBoot RabbitMQ 延迟队列代码实现
摘要:场景 用户下单后,如果30min未支付,则删除该订单,这时候就要可以用延迟队列 准备 利用rabbitmq_delayed_message_exchange插件; 首先下载该插件:https://www.rabbitmq.com/community-plugins.html 然后把该插件放到rabb
阅读全文
springboot rabbitmq 死信队列应用场景和完整demo
摘要:何为死信队列? SpringBoot配置文件 初始化和绑定重定向队列配置类 生产者向业务队列发送消息 死信队列消费者 重定向队列 测试 何为死信队列? 死信队列实际上就是,当我们的业务队列处理失败(比如抛异常并且达到了retry的上限),就会将消息重新投递到另一个Exchange(Dead Lett
阅读全文
RabbitMQ消费者抛异常日志持续打印的问题
摘要:场景 消费者接受消息,进行一系列处理,但是由于某些原因处理过程中该消费者的抛出了异常,并且不捕获(直接 throws IOException 抛出去); 由于抛出了IOException,那么这条消息就会再次被发送到该队列,消费者就再次收到,而消费者抛出异常,该消息又会入队……所以就形成了一个死循环
阅读全文
AMQP协议详解与RabbitMQ,MQ消息队列的应用场景,如何避免消息丢失等消息队列常见问题
摘要:什么是AMQP? 在异步通讯中,消息不会立刻到达接收方,而是被存放到一个容器中,当满足一定的条件之后,消息会被容器发送给接收方,这个容器即消息队列,而完成这个功能需要双方和容器以及其中的各个组件遵守统一的约定和规则,AMQP就是这样的一种协议,消息发送与接受的双方遵守这个协议可以实现异步通讯。这个协
阅读全文
SpringBoot整合RabbitMQ,实现消息发送和消费以及多个消费者的情况
摘要:下载安装Erlang和RabbitMQ AMQP协议详解与RABBITMQ,MQ消息队列的应用场景,如何避免消息丢失 项目创建和依赖 代码 topic exchange 通配路由中多个消费者的情况 下载安装Erlang和RabbitMQ Erlang和RabbitMQ:https://www.cnb
阅读全文
RabbitMQ的安装与管理控制台设置
摘要:首先下载安装Erlang环境:http://www.erlang.org/downloads; 再下载安装RabbitMQ:http://www.rabbitmq.com/download.html; 为了通过web界面的15672端口查看RabbitMQ的相关信息,需要激活Rabbit MQ's
阅读全文
给RabbitMQ发送消息时,设置请求头Header。
摘要:消费者的请求头 生产者设置请求头 由于消费者那里,@Payload是接受的消息体,使用了@Header注解,需要请求头,生产者这边就要设置请求头,然后rabbitTemplate再调用convertAndSend方法发送,如下代码: 这是RabbitTemplate中的converAndSend(e
阅读全文