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

备案期间 网站想正常北京如何做网站

备案期间 网站想正常,北京如何做网站,福州医院网站建设公司,苏州妙笔网络科技有限公司上文着重介绍RabbitMQ 七种工作模式介绍RabbitMQ 七种工作模式介绍_rabbitmq 工作模式-CSDN博客 本篇讲解如何在Spring环境下进⾏RabbitMQ的开发.#xff08;只演⽰部分常⽤的⼯作模式#xff09; 目录 引⼊依赖 一.工作队列模式 二.Publish/Subscribe(发布订阅模式) … 上文着重介绍RabbitMQ 七种工作模式介绍RabbitMQ 七种工作模式介绍_rabbitmq 工作模式-CSDN博客 本篇讲解如何在Spring环境下进⾏RabbitMQ的开发.只演⽰部分常⽤的⼯作模式 目录 引⼊依赖  一.工作队列模式 二.Publish/Subscribe(发布订阅模式) 三.Routing(路由模式) 四.Topics(通配符模式) 引⼊依赖  在pom.xml 可以导入依赖 !--Spring MVC相关依赖-- dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-web/artifactId /dependency dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-test/artifactId scopetest/scope /dependency !--RabbitMQ相关依赖-- dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-amqp/artifactId /dependency 或者创建项目时候勾选相应的选项 进入项目第一步先进行分类 三层架构  进行配置相关rabbitmq属性  一.工作队列模式 生产者 RestController RequestMapping(/produce) public class ProducerController {Autowiredprivate RabbitTemplate rabbitTemplate;RequestMapping(/work)public String work() {rabbitTemplate.convertAndSend(, Constans.WORK_QUEUE,hello spring amqp:work...);return 发送成功;} } convertAndSend是RabbitTemplate类提供的一个重要方法用于将消息发送到 RabbitMQ 的指定队列中 。 第一个参数在这里通常表示交换机Exchange的名称为空字符串。第二个参数Constans.WORK_QUEUE第三个参数hello spring amqp:work...这就是要发送的实际消息内容 通过网页进行测试是否发送成功 从rabbitmq上可以看出已经发送成功到队列等待消费者进行消费  消费者 Component public class WorkListener {RabbitListener(queues Constants.WORK_QUEUE)public void queueListener1(Message message) {System.out.println(listener 1 [Constants.WORK_QUEUE] 接收到消息: message);}RabbitListener(queues Constants.WORK_QUEUE)public void queueListener2(Message message) {System.out.println(listener 2 [Constants.WORK_QUEUE] 接收到消息: message);} } RabbitListener 是Spring框架中⽤于监听RabbitMQ队列的注解,通过使⽤这个注解可以定义⼀个⽅法,以便从RabbitMQ队列中接收消息.该注解⽀持多种参数类型这些参数类型代表了从RabbitMQ接收到的消息和相关信息. Component public class WorkListener {RabbitListener(queues Constants.WORK_QUEUE)public void queueListener1(String message) {System.out.println(listener 1 [Constants.WORK_QUEUE] 接收到消息: message);}RabbitListener(queues Constants.WORK_QUEUE)public void queueListener2(String message) {System.out.println(listener 2 [Constants.WORK_QUEUE] 接收到消息: message);} } 1. String 返回消息的内容 2. Message ( org.springframework.amqp.core.Message ):SpringAMQP的 Message 类返回原始的消息体以及消息的属性,如消息ID,内容,队列信息等. 二.Publish/Subscribe(发布订阅模式) 声明队列,交换机,绑定队列和交换机 //发布订阅模式public static final String FANOUT_QUEUE1 fanout.queue1;public static final String FANOUT_QUEUE2 fanout.queue2;public static final String FANOUT_EXCHANGE fanout.exchange; //发布订阅模式Bean(fanoutQueue1)public Queue fanoutQueue1() {return QueueBuilder.durable(Constants.FANOUT_QUEUE1).build();}Bean(fanoutQueue2)public Queue fanoutQueue2() {return QueueBuilder.durable(Constants.FANOUT_QUEUE2).build();}Bean(fanoutExchange)public FanoutExchange fanoutExchange() {return ExchangeBuilder.fanoutExchange(Constants.FANOUT_EXCHANGE).durable(true).build();}Bean(fanoutQueueBinding1)public Binding fanoutQueueBinding1(Qualifier(fanoutExchange) FanoutExchange fanoutExchange, Qualifier(fanoutQueue1) Queue queue){return BindingBuilder.bind(queue).to(fanoutExchange);}Bean(fanoutQueueBinding2)public Binding fanoutQueueBinding2(Qualifier(fanoutExchange) FanoutExchange fanoutExchange, Qualifier(fanoutQueue2) Queue queue){return BindingBuilder.bind(queue).to(fanoutExchange);} 生产者 RequestMapping(/fanout)public String fanout(){rabbitTemplate.convertAndSend(Constants.FANOUT_EXCHANGE,, hello spring amqp:fanout...);return 发送成功;} 消费者 Component public class FanoutListener {RabbitListener(queues Constants.FANOUT_QUEUE1)public void queueListener1(String message) {System.out.println(listener 1 [Constants.FANOUT_QUEUE1] 接收到消息: message);}RabbitListener(queues Constants.FANOUT_QUEUE2)public void queueListener2(String message) {System.out.println(listener 2 [Constants.FANOUT_QUEUE2] 接收到消息: message);} } 三.Routing(路由模式) 声明队列,交换机,绑定队列和交换机  //路由模式public static final String DIRECT_QUEUE1 direct.queue1;public static final String DIRECT_QUEUE2 direct.queue2;public static final String DIRECT_EXCHANGE direct.exchange; //路由模式Bean(directQueue1)public Queue directQueue1() {return QueueBuilder.durable(Constants.DIRECT_QUEUE1).build();}Bean(directQueue2)public Queue directQueue2() {return QueueBuilder.durable(Constants.DIRECT_QUEUE2).build();}Bean(directExchange)public DirectExchange directExchange() {return ExchangeBuilder.directExchange(Constants.DIRECT_EXCHANGE).durable(true).build();}Bean(directQueueBinding1)public Binding directQueueBinding1(Qualifier(directExchange) DirectExchange directExchange, Qualifier(directQueue1) Queue queue){return BindingBuilder.bind(queue).to(directExchange).with(orange);}Bean(directQueueBinding2)public Binding directQueueBinding2(Qualifier(directExchange) DirectExchange directExchange, Qualifier(directQueue2) Queue queue){return BindingBuilder.bind(queue).to(directExchange).with(black);}Bean(directQueueBinding3)public Binding directQueueBinding3(Qualifier(directExchange) DirectExchange directExchange, Qualifier(directQueue2) Queue queue){return BindingBuilder.bind(queue).to(directExchange).with(orange);} 生产者 RequestMapping(/direct/{rountingKey})public String direct(PathVariable(routingKey) String rountingKey){rabbitTemplate.convertAndSend(Constants.DIRECT_EXCHANGE,, hello spring amqp:direct, my routing key is rountingKey);return 发送成功;} PathVariable 用于从请求的 URL 路径中提取参数值。 当有一个请求访问/direct/后面跟着某个具体的值例如/direct/key1时PathVariable(routingKey) String rountingKey会将key1提取出来并赋值给rountingKey变量。 消费者 Component public class DirectListener {RabbitListener(queues Constants.DIRECT_QUEUE1)public void queueListener1(String message) {System.out.println(listener 1 [Constants.DIRECT_QUEUE1] 接收到消息: message);}RabbitListener(queues Constants.DIRECT_QUEUE2)public void queueListener2(String message) {System.out.println(listener 2 [Constants.DIRECT_QUEUE2] 接收到消息: message);} } 四.Topics(通配符模式) . 代表一个单词 # 代码多个单词  //通配符模式public static final String TOPIC_QUEUE1 topics_queue1;public static final String TOPIC_QUEUE2 topics_queue2;public static final String TOPIC_EXCHANGE topics_exchange; //通配符模式Bean(topicQueue1)public Queue topicQueue1(){return QueueBuilder.durable(Constants.TOPIC_QUEUE1).build();}Bean(topicQueue2)public Queue topicQueue2(){return QueueBuilder.durable(Constants.TOPIC_QUEUE2).build();}Bean(topicExchange)public TopicExchange topicExchange(){return ExchangeBuilder.topicExchange(Constants.TOPIC_EXCHANGE).durable(true).build();}Bean(topicQueueBinding1)public Binding topicQueueBinding1(Qualifier(topicExchange) TopicExchange topicExchange, Qualifier(topicQueue1) Queue queue){return BindingBuilder.bind(queue).to(topicExchange).with(*.orange.*);}Bean(topicQueueBinding2)public Binding topicQueueBinding2(Qualifier(topicExchange) TopicExchange topicExchange, Qualifier(topicQueue2) Queue queue){return BindingBuilder.bind(queue).to(topicExchange).with(*.*.rabbit);}Bean(topicQueueBinding3)public Binding topicQueueBinding3(Qualifier(topicExchange) TopicExchange topicExchange, Qualifier(topicQueue2) Queue queue){return BindingBuilder.bind(queue).to(topicExchange).with(lazy.#);} 生产者 RequestMapping(/topic/{routingKey})public String topic(PathVariable(routingKey) String routingKey){rabbitTemplate.convertAndSend(Constants.TOPIC_EXCHANGE,routingKey, hello spring amqp:topic, my routing key is routingKey);return 发送成功;} 消费者 Component public class TopicListener {RabbitListener(queues Constants.TOPIC_QUEUE1)public void queueListener1(String message) {System.out.println(listener 1 [Constants.TOPIC_QUEUE1] 接收到消息: message);}RabbitListener(queues Constants.TOPIC_QUEUE2)public void queueListener2(String message) {System.out.println(listener 2 [Constants.TOPIC_QUEUE2] 接收到消息: message);} } 结语 写博客不仅仅是为了分享学习经历同时这也有利于我巩固知识点总结该知识点由于作者水平有限对文章有任何问题的还请指出接受大家的批评让我改进。同时也希望读者们不吝啬你们的点赞收藏关注你们的鼓励是我创作的最大动力
http://www.hkea.cn/news/14528948/

相关文章:

  • 龙华做棋牌网站建设西安有哪些做网站的公司
  • 男女性男女直接做的视频网站二级建造师执业资格考试
  • 电商网站规划论文浙江台州做网站的公司
  • 返利网站开发一般要多少钱孝感市建设网站
  • 实验一 电子商务网站建设与维护做网站seo的步骤
  • 国外网站为啥速度慢dw网站模板免费下载
  • 用python做美食网站青海省建设厅网站公示公告
  • 金华网站建设工程网站建设个人网站制作流程
  • 网站建设公司哪家好服装网站建设比较好
  • 简述网站制作流程wdcp网站无法访问
  • 网站关键词怎么优化排名主做熟人推荐的招聘网站
  • 网站建设合同有法律效益吗山西建设机械网站首页
  • 长春专业企业网站建设价格网站建设网站备案所需资料
  • 天津做宠物饲料的网站呼和浩特公司做网站
  • 绍兴企业网站开发注册360建筑网平台
  • 微信订单网站模版网站设计方案图
  • iis网站重定向网站制作方案大全
  • python做后台开发移动网站主题网站设计实验步骤
  • 有些网站勤换域名怎么搭建源码网站
  • 优质网站建设廉政网站建设的意义
  • 网站建设的基本流程是怎样的手机上如何制作自己的网站
  • 怎么做支付网站数据中台系统
  • 社交博客网站开发国外网站的分析工具有哪些
  • 做网站怎么选择上市公司成都美誉网站设计
  • 硅胶 技术支持 东莞网站建设虚拟网站怎么做
  • windows server iis 添加网站泰州市做网站
  • 手机网站开发用什么服装设计公司排行榜
  • 网站怎么升级网络推广团队分工
  • 如何推广外贸型网站linux做网站要多大内存
  • 孝感房产网站建设亿网联播