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

网站生成海报功能怎么做的搜索引擎排名营销

网站生成海报功能怎么做的,搜索引擎排名营销,网站安全和信息化建设,网站备案免费吗文章目录 发布订阅Fanout 交换机Direct 交换机Topic 交换机通配符规则 发布订阅 在这里插入图片描述 Fanout 交换机 Fanout 交换机会将收到的消息路由到每一个跟其绑定的queue上。 我们做一个交换机,两个队列,两个消费者分别连接两个队列。 定义交换…

文章目录

    • 发布订阅
      • Fanout 交换机
      • Direct 交换机
      • Topic 交换机
        • 通配符规则

发布订阅

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

Fanout 交换机

Fanout 交换机会将收到的消息路由到每一个跟其绑定的queue上。

我们做一个交换机,两个队列,两个消费者分别连接两个队列。

定义交换机,队列,交换机与队列之间的连接:

/*** fanout交换机配置*/
@Configuration
public class FanoutConfig {/*** 声明交换机,设置名称* @return*/@Beanpublic FanoutExchange fanoutExchange() {return new FanoutExchange("lpy.fanout");}/*** 队列1* @return*/@Beanpublic Queue fanoutQueue1() {return new Queue("fanout.queue1");}/*** 绑定交换机和队列1*/@Beanpublic Binding bindingQueue1(Queue fanoutQueue1, FanoutExchange fanoutExchange) {return BindingBuilder.bind(fanoutQueue1).to(fanoutExchange);}/*** 队列1* @return*/@Beanpublic Queue fanoutQueue2() {return new Queue("fanout.queue2");}/*** 绑定交换机和队列2*/@Beanpublic Binding bindingQueue2(Queue fanoutQueue2, FanoutExchange fanoutExchange) {return BindingBuilder.bind(fanoutQueue2).to(fanoutExchange);}}

定义监听接口:

    @RabbitListener(queues = "fanout.queue1")public void listenFanoutQueue1(String msg) {System.out.println("消费者1接收到Fanout消息:" + msg);}@RabbitListener(queues = "fanout.queue2")public void listenFanoutQueue2(String msg) {System.out.println("消费者2接收到Fanout消息:" + msg);}

发送消息:

    @Testpublic void testFanoutExchange() {// 队列名称String exchangeName = "lpy.fanout";// 消息String message = "hello fanout!";rabbitTemplate.convertAndSend(exchangeName, "", message);}

启动,运行:

在这里插入图片描述

可以看到,我们发的一个消息,被两个消费者消费了,说明实现成功,交换机把消息路由到了每个队列。

Direct 交换机

不同的消息路由到不同的队列,根据key路由建。

在这里插入图片描述

下面来实现一下,基于注解来声明队列和交换机,这样比较方便,直接定义再接口上。

    @RabbitListener(bindings = @QueueBinding(value = @Queue(name = "direct.queue1"),exchange = @Exchange(name = "lpy.direct", type = ExchangeTypes.DIRECT),key = {"red", "blue"}))public void listenDirectQueue1(String msg){System.out.println("消费者1接收到direct.queue1的消息:" + msg);}@RabbitListener(bindings = @QueueBinding(value = @Queue(name = "direct.queue2"),exchange = @Exchange(name = "lpy.direct", type = ExchangeTypes.DIRECT),key = {"red", "yellow"}))public void listenDirectQueue2(String msg){System.out.println("消费者2接收到direct.queue2的消息:" + msg);}

启动测试:

  1. key 为 red
 @Testpublic void testSendDirectExchange() {// 交换机名称String exchangeName = "lpy.direct";// 消息String message = "hello direct red";// 发送消息rabbitTemplate.convertAndSend(exchangeName, "red", message);// 消息String message2 = "hello direct blue";// 发送消息rabbitTemplate.convertAndSend(exchangeName, "blue", message2);// 消息String message3 = "hello direct yellow";// 发送消息rabbitTemplate.convertAndSend(exchangeName, "yellow", message3);}

在这里插入图片描述

可以看到,根据key来进行了路由。

Topic 交换机

Topic 交换机与Direct相似,只不过使用了key可以使用通配符。

RoutingKey一般由一个或多个单词组成,用“.”分割。

通配符规则

# 匹配一个或多个词

* 匹配一个词

例如:

举例:

a.#   可以匹配a.b.c、a.b等a.*   只可以匹配a.b

现在来实验一下吧:

和Direct同样的写法,只是key改为通配符的:

    @RabbitListener(bindings = @QueueBinding(value = @Queue(name = "topic.queue1"),exchange = @Exchange(name = "lpy.topic", type = ExchangeTypes.TOPIC),key = "a.*"))public void listenTopicQueue1(String msg){System.out.println("消费者接收到topic.queue1的消息:" + msg);}@RabbitListener(bindings = @QueueBinding(value = @Queue(name = "topic.queue2"),exchange = @Exchange(name = "lpy.topic", type = ExchangeTypes.TOPIC),key = "a.#"))public void listenTopicQueue2(String msg){System.out.println("消费者接收到topic.queue2的消息:" + msg);}

发送消息:

    @Testpublic void testSendTopicExchange() {// 交换机名称String exchangeName = "lpy.topic";// 消息String message = "hello topic a.b";// 发送消息rabbitTemplate.convertAndSend(exchangeName, "a.b", message);// 消息String message1 = "hello topic a.b.c";// 发送消息rabbitTemplate.convertAndSend(exchangeName, "a.b.c", message1);}

运行结果:

在这里插入图片描述

可以看到#确实可以匹配多个单词,而*只能匹配一个。

http://www.ds6.com.cn/news/6796.html

相关文章:

  • 平安区wap网站建设公司seo推广是什么意思
  • 网站返回404百度竞价排名规则及费用
  • 常用网页设计软件宁波正规seo推广公司
  • 哪个行业最需要做网站北京已感染上千万人
  • 在国外做h网站怎么样外贸国际网站推广
  • 做网站推广需要什么今日国际新闻最新消息事件
  • 做软件常用的网站有哪些软件有哪些云搜索引擎
  • 网站建设什么打王思聪沈阳头条今日头条新闻最新消息
  • 电子商城网站制作数据库网页设计图
  • 网站备案期间做什么百度seo搜索引擎优化
  • 空间站对接热门关键词排名查询
  • 武汉站建设哈尔滨百度网站快速优化
  • 网站模版库外贸独立站建站
  • 龙岩有什么兼职可以做深圳优化公司高粱seo较
  • 外贸网站做SEO河北seo技术培训
  • 西安企业网站建设托管搜索词和关键词
  • 三站一体网站制作百度广告推广费用
  • 网页小游戏列表游戏优化
  • 怎么利用爬虫技术 提高网站排名app推广好做吗
  • 百度大全网站怎么策划一个营销方案
  • 做网站一定要域名吗大数据营销推广精准粉
  • 广州东莞最新疫情郑州seo服务
  • ps做网站像素大小营销网站都有哪些
  • wordpress主题添加中文版关键词优化包含
  • 哪个网站可以查企业信息万网注册域名查询官方网站
  • 网站数据库建表百度热度
  • 西宁网络信息 网站建设推广图片制作
  • 网站预算表怎么做网站推广 方法
  • 浙江省政府 加强政府网站建设游戏推广公司怎么接游戏的
  • 深圳分销网站制作中国国家数据统计网