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

上海网站建设升游戏优化大师下载安装

上海网站建设升,游戏优化大师下载安装,龙岩亿网行,广州腾虎网络网站建设扇形交换机:Fanout Exchange扇形交换机是最基本的交换机类型,它所能做的事情非常简单———广播消息。扇形交换机会把能接收到的消息全部发送给绑定在自己身上的队列。因为广播不需要“思考”,所以扇形交换机处理消息的速度也是所有的交换机类…
扇形交换机:Fanout Exchange扇形交换机是最基本的交换机类型,它所能做的事情非常简单———广播消息。扇形交换机会把能接收到的消息全部发送给绑定在自己身上的队列。因为广播不需要“思考”,所以扇形交换机处理消息的速度也是所有的交换机类型里面最快的。 这个交换机没有路由键概念,就算你绑了路由键也是无视的。
=======================创建扇形交换机=============================================
@Autowired
AmqpAdmin amqpAdmin;
/*** 创建扇形交换机* @return*/
@GetMapping("/createFanout")
public void createFanout() {//交换机String exchangeName = "EW_EXCHANGE_FANOUT";//国内版队列String queueProductName = "EW_PRODUCT_ZH_FANOUT";//国际版队列String queueProductNameTwo = "EW_PRODUCT_EN_FANOUT";//交换机FanoutExchange exchange = new FanoutExchange(exchangeName, true, false);amqpAdmin.declareExchange(exchange);//产品队列Queue queue = new Queue(queueProductName, true, false, false);amqpAdmin.declareQueue(queue);Queue queue2 = new Queue(queueProductNameTwo, true, false, false);amqpAdmin.declareQueue(queue2);//交换机与设备绑定Binding bindingProduct = BindingBuilder.bind(queue).to(exchange);amqpAdmin.declareBinding(bindingProduct);Binding bindingProduct2 = BindingBuilder.bind(queue2).to(exchange);amqpAdmin.declareBinding(bindingProduct2);}

=======================发送消息===============================

/*** rabbitmq 管理组件*/private final RabbitTemplate rabbitTemplate;
/*** @param vo          发送消息* @param topExchange 交换机* @param routingKey  路由   扇形交换机不识别路由* @return*/
public static void syncDataChange(byte[] vo, String topExchange, String routingKey, RabbitTemplate rabbitTemplate) {try {if (null != vo) {Message message = MessageBuilder.withBody(vo).setContentType(MessageProperties.CONTENT_TYPE_JSON).setContentEncoding("UTF-8").setMessageId(UUID.randomUUID().toString()).build();rabbitTemplate.convertAndSend(topExchange, routingKey, message, new CorrelationData(UUID.randomUUID().toString()));}} catch (Exception e) {e.printStackTrace();}
}

==========================接收消息===================================

//缓存
private StringRedisTemplate redisTemplate;
@RabbitListener(bindings = {@QueueBinding(value = @Queue(value ="EW_PRODUCT_ZH_FANOUT"),exchange = @Exchange(value = "EW_EXCHANGE_FANOUT" type =      ExchangeTypes.FANOUT))})@RabbitHandlerpublic void onMessage(Channel channel, Message message) throws IOException {//唯一标识String messageId = message.getMessageProperties().getMessageId();//接收消息String msg = new String(message.getBody(), "UTF-8");try {if (StringUtils.isNotBlank(msg)) {//判断messageId在redis中是否存在boolean flage = stringRedisTemplate(messageId, msg);if (!flage) {log.error("消息已重复处理,拒绝再次接收...");
//                    channel.basicReject(message.getMessageProperties().getDeliveryTag(), false); // 拒绝消息} else {//如果要防止 重复消费,则需要将 id值存在 redis,每次 都要去redis中拿id比对,是否存在,存在则消费过->messageId
//                    channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);log.info("接收到的消息{}->" + redisTemplate.opsForValue().get(messageId));}} else {log.info("消息为空拒绝接收...");
//                channel.basicReject(message.getMessageProperties().getDeliveryTag(), false); // 拒绝消息}} catch (Exception e) {if (message.getMessageProperties().getRedelivered()) {log.error("消息已重复处理,拒绝再次接收...");
//                channel.basicReject(message.getMessageProperties().getDeliveryTag(), false); // 拒绝消息} else {log.error("消息即将再次返回队列处理...");
//                channel.basicNack(message.getMessageProperties().getDeliveryTag(), false, true);}}log.info("===消费端Payload============ " + msg);}/*** 判断Key是否存在** @param messageId 唯一表示key* @param msg       value值* @return*/private boolean stringRedisTemplate(String messageId, String msg) {log.info("messageId=" + messageId);//判断Key是否存在 有则返回true,没有则返回falseif (redisTemplate.hasKey(messageId)) {return false;} else {redisTemplate.opsForValue().setIfAbsent(messageId, msg);}return true;}

http://www.wangmingla.cn/news/13272.html

相关文章:

  • 网站域名怎么备案seo优化网站
  • 广州外贸b2b网站建设抖音seo教程
  • cetos做网站seo的基本工作内容
  • 专门做视频的网站吗网站内容如何优化
  • 网站做电商销售需要注册吗电子商务网站建设论文
  • 郑州专业做淘宝网站网络推广优化工具
  • 什么网站时候做伪静态优化大师win10
  • 织梦怎么修改网站模板东莞网站到首页排名
  • 虚拟主机怎么做网站下列关于seo优化说法不正确的是
  • 潍坊网站关键词推广市场营销策略
  • 做网站学h5还是php河北网站建设制作
  • 做卫生用品的网站核心关键词和长尾关键词举例
  • 东丽区网站建设公司优化软件有哪些
  • 做电影网站哪个系统好杨谦教授编的营销课程
  • 一个网站一年的费用资讯门户类网站有哪些
  • 建德广元建设有限公司网站衡水今日头条新闻
  • 网站建设公司的市场营销方案模板安顺seo
  • 学校网站设计方案模板优化大师免费版
  • 网站建设亇金手指下拉排名亅seo企业站收录
  • 上海注册重庆seo公司排名
  • 珠海做网站及推广网站优化seo推广服务
  • 中国电力工程造价信息网电商seo优化是什么意思
  • wordpress网站资源佛山网络推广培训
  • 网站的做公司石家庄今天最新新闻头条
  • 做网站推广的是什么职位企业网站搭建
  • 选择建设网站公司要注意什么竞价托管选择微竞价
  • 网站开发界面图标设计软文营销是什么
  • 网站建设与推广推荐长春seo推广
  • 网页设计注册页面代码佛山百度快速排名优化
  • wordpress 垃圾南宁seo外包服务商