Java使用Rabbitmq惊喜队列queue和消息内容的本地持久化核心方法。(内容存储在硬盘)...

_Channel.queueDeclare(queue, true, false, false, null);
_Channel.basicPublish(_ExchangeName, queue,MessageProperties.MINIMAL_PERSISTENT_BASIC, bodyBytes);

常常遇到rabbitmq service停止以后,重启,发现mq里的东西也丢失了。

_Channel.queueDeclare(queue, true, false, false, null);  //标红的参数表示要持久化queue。durable = true
_Channel.basicPublish(_ExchangeName, queue,MessageProperties.MINIMAL_PERSISTENT_BASIC, bodyBytes); //表示消息需要持久化到硬盘

 

 

好消息,

程序员专用早餐机。和掌柜说 ideaam,可以节省20元。 点击链接  或復·制这段描述¥k3MbbVKccMU¥后到淘♂寳♀

或者 淘宝扫码 支持下同行哈

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
RabbitMQ是一个使用AMQP(Advanced Message Queuing Protocol,高级消息队列协议)实现的开源消息队列系统。它基于消息队列的概念,提供了一种可靠的、可扩展的、灵活的消息传递模式。 底层原理: 1. Producer(生产者)使用AMQP协议将消息发送到RabbitMQ的Exchange(交换机)。 2. Exchange根据预设的规则(如路由键)将消息路由到一个或多个Queue队列)。 3. Consumer(消费者)订阅并从队列中接收消息进行处理。 RabbitMQ的实现方法主要包括以下几个关键组件: 1. Exchange(交换机):接收Producer发送的消息,并根据预设的规则将消息路由到一个或多个Queue。常见的Exchange类型有Direct、Topic、Fanout和Headers。 2. Queue队列):是消息的容器,可以持久化存储消息,Consumer从队列中获消息进行消费。每个队列都有一个名称,并且可以绑定多个Exchange。 3. Binding(绑定):用于将Exchange和Queue进行绑定,绑定时可以指定特定的规则,例如路由键、Headers等。 4. Routing Key(路由键):Producer发送消息时,可以指定一个路由键,Exchange根据路由键将消息发送到匹配的Queue。 5. AMQP协议:RabbitMQ使用AMQP协议作为其通信协议,该协议定义了Producer、Exchange、Queue和Consumer之间的通信方式和规则。 通过以上组件的配合,RabbitMQ实现了高效、可靠的消息传递机制。它支持多种消息传递模式,例如点对点(Point-to-Point)和发布/订阅(Publish/Subscribe),并且具有可靠性、灵活性和可扩展性等优势。 需要注意的是,RabbitMQ还提供了各种高级特性,如消息持久化消息的优先级、消息确认机制等,以满足不同场景下的需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值