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

郑州的做网站公司有哪些浙江省城乡和建设厅网站

郑州的做网站公司有哪些,浙江省城乡和建设厅网站,永久免费的网站推荐,湛江网络营销生产者发送消息#xff0c;在消息不可达指定队列时#xff0c;可以借助扇出类型交换机#xff08;之前写过消息回退的处理方案#xff0c;扇出交换机处理的方案优先级高于消息回退#xff09;处理不可达消息#xff0c;然后放置一个备份队列#xff0c;供消费者处理不可… 生产者发送消息在消息不可达指定队列时可以借助扇出类型交换机之前写过消息回退的处理方案扇出交换机处理的方案优先级高于消息回退处理不可达消息然后放置一个备份队列供消费者处理不可达消息同时也加一个报警队列对于不能走正常流程的消息进行消费者告警。 先用方法配置类把各个组件声明 package com.esint.configs;import org.springframework.amqp.core.*; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;import java.util.HashMap; import java.util.Map;Configuration public class BackupConfig {/*** 定义组件常量名字*///交换机- 确认交换机额public static final String EXCHANGE_SURE sure.ex;//交换机- 备份交换机额public static final String EXCHANGE_BACK backup.ex;//队列- 正常确认队列public static final String QUEUE_SURE sure.queue;//队列-备份队列public static final String QUEUE_BACKUP backup.queue;//队列-警告队列public static final String QUEUE_WARN warn.queue;//routing-keypublic static final String ROUTING_KEY_SURE key1;/*** 声明组件*///确认交换机Bean(sureExchange)public DirectExchange sureExchange(){MapString, Object arguments new HashMap();arguments.put(alternate-exchange,EXCHANGE_BACK);return ExchangeBuilder.directExchange(EXCHANGE_SURE).durable(true).withArguments(arguments).build();}//备份交换机Bean(backExchange)public FanoutExchange backExchange(){return new FanoutExchange(EXCHANGE_BACK);}//确认队列Bean(sureQueue)public Queue sureQueue(){return QueueBuilder.durable(QUEUE_SURE).build();}//备份队列Bean(backupQueue)public Queue backupQueue(){return QueueBuilder.durable(QUEUE_BACKUP).build();}//警告队列Bean(warnQueue)public Queue warnQueue(){return QueueBuilder.durable(QUEUE_WARN).build();}/*** 绑定组件 确认队列 绑定 确认交换机 with key1*/Beanpublic Binding sureQueueBindingSureExchange(Qualifier(sureQueue) Queue sureQueue,Qualifier(sureExchange)DirectExchange sureExchange){return BindingBuilder.bind(sureQueue).to(sureExchange).with(ROUTING_KEY_SURE);}/*** 绑定组件 备份队列 绑定 备份交换机*/Beanpublic Binding backupQueueBindingBackupExchange(Qualifier(backupQueue) Queue backupQueue,Qualifier(backExchange)FanoutExchange backExchange){return BindingBuilder.bind(backupQueue).to(backExchange);}/*** 绑定组件 警告队列 绑定 备份交换机*/Beanpublic Binding warnQueueBindingBackupExchange(Qualifier(warnQueue) Queue warnQueue,Qualifier(backExchange)FanoutExchange backExchange){return BindingBuilder.bind(warnQueue).to(backExchange);} } 生产者 我们做出两个方法一个可正常进行流程一个routingKey异常无法路由到指定队列 package com.esint.controller;import com.esint.configs.BackupConfig; import com.esint.constants.ResponseCode; import com.esint.entity.ResponseEntity; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.apache.kafka.clients.producer.*; import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController;import java.nio.charset.StandardCharsets; import java.util.Properties; import java.util.concurrent.ExecutionException;Api(value rabbitMQ-备份队列测试) RestController RequestMapping(/rabbit) public class BackUpExchangeController {Autowiredprivate RabbitTemplate rabbitTemplate;ApiOperation(value routingKey正常测试,httpMethod GET,tags {去正常流程})ApiImplicitParams({ApiImplicitParam(namestr,value消息体,required false,dataType String)})ResponseBodyRequestMapping(value /test1, method RequestMethod.GET)public ResponseEntity test1(String str ) {rabbitTemplate.convertAndSend(BackupConfig.EXCHANGE_SURE, BackupConfig.ROUTING_KEY_SURE,str);return new ResponseEntity(ResponseCode.SUCCESS).addData(routingKeyOk:str);}ApiOperation(value routingKey非正常测试,httpMethod GET,tags {去备份-警告})ApiImplicitParams({ApiImplicitParam(namestr,value消息体,required false,dataType String)})ResponseBodyRequestMapping(value /test2, method RequestMethod.GET)public ResponseEntity test2(String str ) {rabbitTemplate.convertAndSend(BackupConfig.EXCHANGE_SURE, BackupConfig.ROUTING_KEY_SUREwrong,str);return new ResponseEntity(ResponseCode.SUCCESS).addData(routingKeyWrong:str);}} 三个消费者分别监听正常队列 备份队列 警告队列 确认队列消费者 package com.esint.consumer;import com.esint.configs.BackupConfig; import com.esint.configs.ConfirmConfig; import lombok.extern.slf4j.Slf4j; import org.springframework.amqp.core.Message; import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.stereotype.Component;Component Slf4j public class BackUpConsumer01 {RabbitListener(queues BackupConfig.QUEUE_SURE)public void reveiver(Message message){log.info(正常消费者C1 new String(message.getBody()),UTF-8);}} 备份队列消费者 package com.esint.consumer;import com.esint.configs.BackupConfig; import lombok.extern.slf4j.Slf4j; import org.springframework.amqp.core.Message; import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.stereotype.Component;Component Slf4j public class BackUpConsumer02 {RabbitListener(queues BackupConfig.QUEUE_BACKUP)public void reveiver(Message message){log.info(备份消费者C2 new String(message.getBody()),UTF-8);} } 警告队列消费者 package com.esint.consumer;import com.esint.configs.BackupConfig; import lombok.extern.slf4j.Slf4j; import org.springframework.amqp.core.Message; import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.stereotype.Component;Component Slf4j public class BackUpConsumer03 {RabbitListener(queues BackupConfig.QUEUE_WARN)public void reveiver(Message message){log.info(警告消费者C3 new String(message.getBody()),UTF-8);}} 测试 1.正常流程测试 com.esint.consumer.BackUpConsumer01 : 正常消费者C1你好啊 正常队列2.路由不达消息测试 com.esint.consumer.BackUpConsumer03 : 警告消费者C3这个消息不可达 routing-key不对 它去哪里了 com.esint.consumer.BackUpConsumer02 : 备份消费者C2这个消息不可达 routing-key不对 它去哪里了测试达到预期结果 在队列消息不可达时备份交换机处理优先级高于消息回退处理。
http://www.zqtcl.cn/news/267398/

相关文章:

  • 网站建设怎么样做账义乌市住房和城乡建设局网站
  • 做网站友情链接的步骤wordpress文库主题
  • 网站模板用什么软件做泉州网站建设轩奇网讯
  • 网站开发必备人员网页设计图片居中代码
  • 网站列表页怎么做的百度seo优
  • 做网站销售好不好企业seo培训
  • 网站制作排版越南网站建设
  • 满城建设局网站我要买房网
  • 长沙百度提升排名南宁网站seo公司
  • 凡科网做网站怎样东莞寮步汽车城
  • 做百度网站费用多少基于html5的移动端网站开发
  • 专业做网站设计哪家好大型网站技术方案
  • 海外医疗兼职网站建设wordpress 最受欢迎主题
  • 网站改版方案案例入门级网页设计培训学员
  • 安徽优化网站运营平台
  • 小型企业网站设计教程面备案网站建设
  • 重庆业务外包网站建设办公室装修一般多少钱一个平方
  • 网站查询域名ip解析手机短视频网站的建设
  • 甘肃机械化建设工程有限公司网站微小店网站建设价格
  • 个人空间网站建设报告网络游戏交易平台
  • 深圳医疗网站建设中小企业网站功能
  • 汕头集团做网站方案建设网站要买空间吗
  • 宁波搭建网站专业展馆展厅设计公司深圳
  • 山东省建设工程电子信息网站广州开发区第一小学
  • 网站建设推广重要性河北高端网站建设
  • 网站的seo方案怎么做wordpress自动转内链
  • 番禺手机网站制作推广wordpress远程数据库
  • 企业网站seo外包 s深圳国内设计网站
  • 临海高端营销型网站建设地址免费网站alexa排名查询
  • 做企业网站的轻量级cms建设电子商务网站流程图