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

2网站建设类似wordpress

2网站建设,类似wordpress,优化seo多少钱,企业为什么要做短视频营销我们在消费RabbitMQ消息的过程中#xff0c;有时候可能会想先暂停消费一段时间#xff0c;然后过段时间再启动消费者#xff0c;这个需求怎么实现呢#xff1f;我们可以借助RabbitListenerEndpointRegistry这个类来实现#xff0c;它的全类名是org.springframework.amqp.r…        我们在消费RabbitMQ消息的过程中有时候可能会想先暂停消费一段时间然后过段时间再启动消费者这个需求怎么实现呢我们可以借助RabbitListenerEndpointRegistry这个类来实现它的全类名是org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistry通过这个类可以实现全部队列消息的启动、停止消费也可以实现指定队列消息的启动、停止消费。具体的原因感兴趣的话可以参考一下我前面的这篇博客(17)不重启服务动态调整RabbitMQ消费者数量里面有相应的源码分析。 停止、启动全部队列消费 RabbitListenerEndpointRegistry类提供了start()方法和stop()方法可以看到底层都是通过调用getListenerContainers()获取到所有队列的消费监听容器列表然后遍历挨个调用对应的start()方法和stop()方法。 Overridepublic void start() {for (MessageListenerContainer listenerContainer : getListenerContainers()) {startIfNecessary(listenerContainer);}}Overridepublic void stop() {for (MessageListenerContainer listenerContainer : getListenerContainers()) {listenerContainer.stop();}} 我们只需要获取到RabbitListenerEndpointRegistry对象然后调用其start()方法和stop()方法即可实现启动/停止所有队列消费。 实现代码如下所示 Resource RabbitListenerEndpointRegistry rabbitListenerEndpointRegistry;RequestMapping(value /startStopAllConsumer) ApiOperation(value 启动/暂停全部队列消息消费) public Response startStopAllConsumer(RequestParam(value consumeSwitch, required true) boolean consumeSwitch) {log.info(启动/暂停全部队列消息消费,consumeSwitch:{},consumeSwitch);if(consumeSwitch){rabbitListenerEndpointRegistry.start();}else {rabbitListenerEndpointRegistry.stop();}return Response.success(); } 传入开关参数为false会停止所有队列消费者消费调用后控制台看到如下日志 2023-09-04 19:43:11.480 0800 [TID: N/A] [http-nio-8080-exec-4] INFO  c.b.t.m.p.w.PayCashierMockController:67 - 启动/暂停全部队列消息消费,consumeSwitch:false 2023-09-04 19:43:11.556 0800 [TID: N/A] [http-nio-8080-exec-4] INFO  o.s.a.r.l.SimpleMessageListenerContainer:586 - Waiting for workers to finish. 2023-09-04 19:43:12.352 0800 [TID: N/A] [http-nio-8080-exec-4] INFO  o.s.a.r.l.SimpleMessageListenerContainer:589 - Successfully waited for workers to finish. 可以看到消息监听容器关闭的日志然后再传入开关参数为true调用后会启动所有队列消息消费。 停止、启动指定队列消费 上面提到了RabbitListenerEndpointRegistry.getListenerContainers()可以获取到所有队列的消费监听容器列表我们可以使用MessageListenerContainer中获取消费的队列名进行判断以实现指定队列的停止、启动消费。 实现代码如下所示 Resource RabbitListenerEndpointRegistry rabbitListenerEndpointRegistry;RequestMapping(value /startStopConsumer) ApiOperation(value 启动/暂停指定队列消息消费) public Response startStopConsumer(RequestParam(value queueName, required false) String queueName,RequestParam(value consumeSwitch, required true) boolean consumeSwitch) {log.info(启动/暂停指定队列消息消费,consumeSwitch:{},queueName:{},consumeSwitch,queueName);//获取所有消息监听容器CollectionMessageListenerContainer listenerContainers rabbitListenerEndpointRegistry.getListenerContainers();for (MessageListenerContainer container : listenerContainers) {SimpleMessageListenerContainer con (SimpleMessageListenerContainer) container;//消息监听容器要消费的队列名称集合ListString queueNamesList Arrays.asList(con.getQueueNames());//判断容器中的队列名称是否包含需要调整的队列名参数if (queueNamesList.contains(queueName)) {if(consumeSwitch){con.start();}else{con.stop();}}}return Response.success(); } 传入开关参数为false停止pay_work_notify队列消费者消费调用后控制台看到如下日志 2023-09-04 19:51:37.130 0800 [TID: N/A] [http-nio-8080-exec-1] INFO  c.b.t.m.p.w.PayCashierMockController:80 - 启动/暂停指定队列消息消费,consumeSwitch:false,queueName:pay_work_notify 2023-09-04 19:51:37.200 0800 [TID: N/A] [http-nio-8080-exec-1] INFO  o.s.a.r.l.SimpleMessageListenerContainer:586 - Waiting for workers to finish. 2023-09-04 19:51:37.903 0800 [TID: N/A] [http-nio-8080-exec-1] INFO  o.s.a.r.l.SimpleMessageListenerContainer:589 - Successfully waited for workers to finish. 可以看到消息监听容器关闭的日志然后再传入开关参数为true调用后会启动pay_work_notify队列消息消费。
http://www.zqtcl.cn/news/414797/

相关文章:

  • 特别酷炫网站惠州的服装网站建设
  • 网站右侧悬浮代码网站新闻前置审批
  • 2015网站建设十堰网站优化排名
  • 营销网站的优点番禺人才网最新招聘市场在哪里?
  • 企业网站建站模板自己做网站网站资源哪里来
  • 接入服务商网站备案管理系统技术规范要求郴州网站建设软件定制开发制作
  • 温州做网站公司哪家好购物网站的基本功能
  • 网站建设网站建设教程建设糖果网站的好处有哪些
  • 松原手机网站开发wordpress数据库设计优缺点
  • 惠州建设工程造价管理站网站中国海洋大学站群网站建设
  • 怎么做网站里面的模块太原做网络推广
  • 网站关键词排名优化应该怎么做wordpress实惠主机
  • 服装 营销型网站案例网站建设资料需要公司提交的吗
  • 网站权重高 做别的关键词怎么查看网站是否被百度收录
  • 沈阳网站开发培训多少钱广州做网站的公司哪家好
  • 宁波江北建设局网站建筑室内设计公司
  • 辽宁网站seo做网站的不给ftp
  • 南宁seo网站排名优化公司电商主图一键生成免费
  • 宁波论坛建站模板wordpress发布公告
  • 电子政务门户网站建设汇报班级优化大师官网登录
  • 做网站购买什么软件c 购物网站开发流程
  • 阿里云做网站送服务器赣州英文网站建设
  • 网站备案号官网黄山网站建设哪家好
  • 鞍山做网站排名滁州seo
  • 加关键词的网站seo服务外包公司
  • 大丰建站研究网站建设
  • 网站建设维护教程聊城做网站推广地方
  • 郑州七彩网站建设公司怎么样国内老牌的注册代理
  • 衡水外贸网站建设临清轴承网站建设
  • 上街郑州网站建设网站管理建设的需求分析