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

北京住房投资建设中心网站首企业网站可信度建设

北京住房投资建设中心网站首,企业网站可信度建设,产品规划,dedecms 获取网站地址文章目录 RabbitMQ项目实战选择客户端基础实战 前情提要#xff1a;我们了解了消息队列#xff0c;RabbitMQ的入门#xff0c;交换机#xff0c;以及核心特性等知识#xff0c;现在终于来到了激动人心的项目实战环节#xff01;本小节主要介绍通过Spring Boot RabbitMQ S… 文章目录 RabbitMQ项目实战选择客户端基础实战 前情提要我们了解了消息队列RabbitMQ的入门交换机以及核心特性等知识现在终于来到了激动人心的项目实战环节本小节主要介绍通过Spring Boot RabbitMQ Starter 在SpringBoot项目中跑通测试RabbitMQ话不多说我们马上开始 RabbitMQ项目实战 选择客户端 怎么在项目中使用RabbitMQ? 使用官方的客户端类比jdbc 优点兼容性好换语言成本低比较灵活 缺点太灵活要自己去处理一些事情比如要自己维护管理链接很麻烦 使用封装好的客户端比如Spring Boot RabbitMQ Starter类比mybatis 优点简单易用直接配置直接用更方便地去管理链接 缺点不够灵活被框架限制 基础实战 我们使用Spring Boot RabbitMQ Starter https://spring.io/guides/gs/messaging-rabbitmq/ 引入依赖 注意使用的版本一定要和你的springboot版本一致去maven中心仓库中找版本一致的 !-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-amqp -- dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-amqp/artifactIdversion2.7.2/version /dependency 2 在yml中引入配置 spring:rabbitmq:host: localhostport: 5672password: guestusername: guest3创建交换机和队列一般在项目启动之前执行创建一次即可 package com.yupi.springbootinit.bimq;import com.rabbitmq.client.Channel; import com.rabbitmq.client.Connection; import com.rabbitmq.client.ConnectionFactory;/*** 用于创建测试程序用到的交换机和队列只用在程序启动前执行一次*/ public class MqInitMain {public static void main(String[] args) {try{ConnectionFactory factory new ConnectionFactory();factory.setHost(localhost);Connection connection factory.newConnection();Channel channel connection.createChannel();String EXCHANGE_NAME code_exchange;channel.exchangeDeclare(EXCHANGE_NAME,direct);String queueName code_queue;channel.queueDeclare(queueName,true,false,false,null);channel.queueBind(queueName,EXCHANGE_NAME,my_routingKey);}catch (Exception e){}} } 4生产者代码 package com.yupi.springbootinit.bimq;import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.stereotype.Component;import javax.annotation.Resource;Component public class MyMessageProducer {Resourceprivate RabbitTemplate rabbitTemplate;public void sendMessage(String exchange,String routingKey,String message){rabbitTemplate.convertAndSend(exchange,routingKey,message);} } 5消费者代码 package com.yupi.springbootinit.bimq;import com.rabbitmq.client.Channel; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.amqp.support.AmqpHeaders; import org.springframework.messaging.handler.annotation.Header; import org.springframework.stereotype.Component;Component Slf4j public class MyMessageConsumer {//使用SneakyThrows注解简化异常处理//使得你可以在不声明抛出异常的方法中抛出受检异常而无需捕获它们。这在一些特定情况下可能会很有用但通常不建议频繁使用因为它可能会破坏代码的可读性和健壮性。SneakyThrows//使用RabbitListener注解指定要监听的队列名称为code_queue并设置消息的确认机制为手动确认RabbitListener(queues {code_queue},ackMode MUNAL)// // 在RabbitMQ中,每条消息都会被分配一个唯一的投递标签用于标识该消息在通道中的投递状态和顺序。通过使用Header(AmqpHeaders.DELIVERY_TAG)注解,可以从消息头中提取出该投递标签,并将其赋值给long deliveryTag参数。public void reciveMessage(String message, Channel channel, Header(AmqpHeaders.DELIVERY_TAG) long deliverttag){log.info(receiveMessage message {}, message);//手动确认消息的接收channel.basicAck(deliverttag,false);} } 测试类测试 package com.yupi.springbootinit.bimq;import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest;import javax.annotation.Resource;import static org.junit.jupiter.api.Assertions.*; SpringBootTest class MyMessageProducerTest {Resourceprivate MyMessageProducer myMessageProducer;Testvoid sendMessage() {myMessageProducer.sendMessage(code_exchange, my_routingKey, 你好呀);} }打印出了日志说明消费者收到了消息测试通过 既然测试已经通过接下来那就把它运用到项目中去吧欲知后事如何且听下回分解~
http://www.zqtcl.cn/news/465909/

相关文章:

  • 建设一个网站需要提供什么手续好看的美食网站设计
  • 西宁网站seo公司网站建设和维护释义
  • 建站平台有哪些免费一键搭建网站wordpress ent 主题
  • 国内比较大的源码网站营销型网站与普通网站的区别
  • 眼镜企业网站建设方案广州最新新闻
  • 茶业网站设计方案绍兴网站建设方案托管
  • 怎样免费建设网站网站建设规划书txt微盘
  • 邯郸网站设计培训做网站建设公司crm在线的培训服务
  • 网站建设文化案例萧山网页设计
  • 融安有那几个网站做的比较好的林州网站建设熊掌号
  • 织梦个人博客网站源码深圳华强北鬼市
  • 成都公司建站模板营销策略有哪些方面
  • 南京哪里做网站河北建设工程交易信息网
  • 广州开发网站设计拍摄宣传片
  • 小型企业网站设计教程深圳seo网站推广方案
  • 做视频网站怎么备案最新网站架构
  • 黄金网站app软件下载安装免费淘宝网页版登录
  • 幸运28网站建设网站返回指定位置怎么做
  • 建设个直播网站要多少钱兴业大街网站建设
  • 网站设计培训班创业上海今天新闻发布会直播
  • 电商网站制作设计wordpress jquery 无法
  • 关键词优化易下拉效率北京和隆优化科技
  • 漯河企业网站开发天津建设协会网站
  • wap网站模式房产信息查询网
  • 做外贸怎么进入国外的网站百度指数总结
  • ui设计作品网站东莞做网站的网络公司
  • 网站未备案怎么访问做网站图片教程
  • 温州专业营销网站建设网络建设解决方案
  • 滨州网站建设 远洋科技网站需求建设书
  • 知道网站域名怎么联系域名解析不成功是什么意思