当前位置: 首页 > news >正文

云南省建设厅网站二建职业培训机构有哪些

云南省建设厅网站二建,职业培训机构有哪些,网站建设哈尔滨app开发2,微网站 前景默认情况下,exchange、queue、message 等数据都是存储在内存中的,这意味着如果 RabbitMQ 重启、关闭、宕机时所有的信息都将丢失。 RabbitMQ 提供了持久化来解决这个问题,持久化后,如果 RabbitMQ 发送 重启、关闭、宕机&#xff…

默认情况下,exchange、queue、message 等数据都是存储在内存中的,这意味着如果 RabbitMQ 重启、关闭、宕机时所有的信息都将丢失。

RabbitMQ 提供了持久化来解决这个问题,持久化后,如果 RabbitMQ 发送 重启、关闭、宕机,下次起到时 RabbitMQ 会从硬盘中恢复exchange、queue、message 等数据。

1.队列持久化

队列的持久化是在声明队列时指定的

channel.queueDeclare(TASK_QUEUE_NAME, false, false, false, null);

如下图声明队列的方法中如果设置 durable为false 时,表示不进行持久化

image-20230710221158738

如下图中存在D标识的表示持久化队列,没有D表示的是非持久化队列

image-20230710221727375

注意:

  • 如果之前声明的队列不是持久化的,需要把原先队列先删除,或者重新创建一个持久化的队列。否则会出现如下错误

    image-20230710221936964

  • 设置持久化的队列即使RabbitMQ 重启、宕机了,也依然存在,没有进行持久化的队列当RabbitMQ 重启、宕机后就不存在了

把队列设置持久化具体代码如下

public class Task02 {//队列名称public static final String TASK_QUEUE_NAME = "ACK_QUEUE1";public static void main(String[] args) throws IOException, TimeoutException {Channel channel = RabbitMQUtils.getChannel();//声明队列channel.queueDeclare(TASK_QUEUE_NAME, true, false, false, null);//在控制台中输入信息Scanner scanner = new Scanner(System.in);System.out.println("请输入信息:");while (scanner.hasNext()) {String message = scanner.next();channel.basicPublish("", TASK_QUEUE_NAME, null, message.getBytes("UTF-8"));System.out.println("生产者发出消息:" + message);}}
}

2.消息持久化

和queue一样,message也是存储在内存中的,这意味着如果 RabbitMQ 重启、关闭、宕机时所有的信息都将丢失,因此需要将消息进行持久化;

因此需要在消息发布时对消息进行持久化

channel.basicPublish("",TASK_QUEUE_NAME,MessageProperties.PERSISTENT_TEXT_PLAIN,message.getBytes("UTF-8"));

消息持久化完整代码如下

public class Task02 {//队列名称public static final String TASK_QUEUE_NAME = "ACK_QUEUE1";public static void main(String[] args) throws IOException, TimeoutException {Channel channel = RabbitMQUtils.getChannel();//声明队列channel.queueDeclare(TASK_QUEUE_NAME, true, false, false, null);//在控制台中输入信息Scanner scanner = new Scanner(System.in);System.out.println("请输入信息:");while (scanner.hasNext()) {String message = scanner.next();channel.basicPublish("", TASK_QUEUE_NAME, MessageProperties.PERSISTENT_TEXT_PLAIN, message.getBytes("UTF-8"));System.out.println("生产者发出消息:" + message);}}
}

注意:

  • 将消息标记为持久化并不能完全保证不会丢失消息。当RabbitMQ 将消息保存到磁盘,但是还没有存储完,出现了故障,此时就会出现数据丢失的情况;
http://www.yayakq.cn/news/98175/

相关文章:

  • 企业网站建设公司河南省建设厅网站公示公告
  • 免费软件制作网站模板下载软件四川公共资源交易中心
  • 外贸网站空间选择建筑工程网络计划技术
  • 怎么让织梦网站适合手机哪里有专门做gif的网站
  • asp简单网站开发智能网站系统可以做app吗
  • 微信html5模板网站网站开发工资怎么样
  • 不用fash做的视频网站重庆网络干部学院
  • 网站新媒体建设方案网线制作机器
  • 推几个学习网站为什么计算机鄙视软工
  • 画册设计1p一般多少钱做搜狗网站优化点击
  • 东台网站建设reactjs 做的网站
  • 网站建设与设计的心得体会域名注册服务器
  • 换域名影响网站不网站策划书基本内容
  • 哪个网站可以免费做国外网站给个做的网站
  • 加强酒店网站建设的建议厦门做网站培训
  • 一站式做网站开发最好的免费logo设计网站
  • 图片生成链接的网站wordpress什么模块
  • 建立自己网站要多少钱企业邮箱网易
  • 北京微信网站开发互联网相关网站
  • 网站绑定别名好吗通化网站建设公司
  • 专业网站设计速寻亿企邦广州工程建设信息网站
  • 互联网创业项目整合网站企业宣传网站系统建设方案
  • 蚌埠市建设局网站乌海市住房城乡建设厅网站
  • 怎么找做网站的乌兰察布seo
  • 江西省注册和城乡建设厅网站网站制作2019趋势
  • 网站信息化建设方案江苏住房和城乡建设厅网站报考
  • 干净简约的网站微信网站开发 全屏
  • 毕业设计做网站重庆电子商务网站seo
  • 珠海网站建设最新报价怎么利用个人网站
  • 如何优化网站结构单页关键词优化费用