简单工作队类的实现配置步骤(5步)

  1. 引入AMQP的依赖
  2. 创建配置文件,链接消息队列(port name MQ账号密码
  3. 创建配置类,声明队列
  4. 使用消息生产者发送消息
  5. 使用消息消费者接受消息

1 . 引入AMQP的依赖

    <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId></dependency>
  1. 创建配置文件,链接消息队列(port name MQ账号密码
server:port: 9005
spring:application:name: demo04rabbitmq:host: 120.55.58.250port: 5672password: guestusername: guest
  1. 创建配置类,声明队列
@Configuration
public class TopicQueueConfig {public static String queueName01="topic.queue01";public static String queueName02="topic.queue02";public static String exchangeName="topic.exchange";@Beanpublic Queue topicQueue01(){return new Queue(queueName01);}@Beanpublic Queue topicQueue02(){return new Queue(queueName02);}@Beanpublic TopicExchange topicExchange(){return new TopicExchange(exchangeName);}@Bean//绑定交换机和队列public Binding bindingQueue01(Queue topicQueue01, TopicExchange topicExchange){return BindingBuilder.bind(topicQueue01).to(topicExchange).with("topic.A");}@Bean//绑定交换机和队列public Binding bindingQueue02(Queue topicQueue02,TopicExchange topicExchange){return BindingBuilder.bind(topicQueue02).to(topicExchange).with("topic.#");}
}
  1. 使用消息生产者发送消息
@RestController
public class TestController {@Autowiredprivate RabbitTemplate rabbitTemplate;@RequestMapping("/sendMessage01")public void sendMessage01(){for (int i=1;i<=5;i++){rabbitTemplate.convertAndSend("direct.exchange","routingkey.A","路由模式routingA"+i);}}@RequestMapping("/sendMessage02")public void sendMessage02(){for (int i=1;i<=5;i++){rabbitTemplate.convertAndSend("direct.exchange","routingkey.B","路由模式routingB"+i);}}
}
  1. 使用消息消费者接受消息
@Component
public class ReceiveListener {@RabbitListener(queues="direct.queue01")public void ReceiveMessage01(String message){System.out.println("ReceiveMessage01"+message);}@RabbitListener(queues="direct.queue02")public void ReceiveMessage02(String message){System.out.println("ReceiveMessage02"+message);}
}

路径

 http://localhost:9005/sendMessage02http://localhost:9005/sendMessage01

结果展示

http://localhost:9005/sendMessage01

http://localhost:9005/sendMessage02

RabbitMQ5. 主题模式(Topic)实现和原理步骤讲解,方式5相关推荐

  1. RabbitMQ的三种模式-----主题模式(Topic)

    主题模式(Topic): 任何发送到Topic Exchange的消息都会被转发到所有关心RouteKey中指定话题的Queue 上 1:简述 如上图所示 此类交换器使得来自不同的源头的消息可以到达一 ...

  2. RabbitMQ学习系列(五):routing路由模式和Topic主题模式

    (一)routing路由模式 在前面一篇博客中讲到了exchange的类型,其中direct类型的exchange就是用于routing路由模式.direct类型的交换机是指:交换机和队列绑定时会设置 ...

  3. RabbitMQ-topic主题模式

    RabbitMQ-topic主题模式 Topic: 所有符合routingKey(此时可以是一个表达式)的routingKey所绑定的队列可以接收消息: 发送到topic类型交换机的消息的routin ...

  4. RabbitMQ主题模式(Topic)

    主题模式(Topic) 主体模式其实就是在路由模式的基础上,支持了对key的通配符匹配(星号以及井号),以满足更加复杂的消息分发场景. "#" : 匹配一个或者多个 "* ...

  5. (八)RabbitMQ消息队列-通过Topic主题模式分发消息

    前两章我们讲了RabbitMQ的direct模式和fanout模式,本章介绍topic主题模式的应用.如果对direct模式下通过routingkey来匹配消息的模式已经有一定了解那fanout也很好 ...

  6. RabbitMq 主题模式(Topic)

    rabbitMq 主题模式介绍 主题模式可以简单的理解为可以动态路由,*代表一个单词,#可以代替零个或多个单词,单词最多 255 个字节,通过相关的匹配规则后就会将满足条件的消息放到对应的队列中,每个 ...

  7. RabbitMQ的Topics 通配符模式(Topic)

    RabbitMQ的Topics 通配符模式(Topic) 模式说明 Topic 类型与 Direct 相比,都是可以根据 RoutingKey 把消息路由到不同的队列.只不过 Topic 类型Exch ...

  8. RabbitMQ之订阅模式与主题模式,消息确认机制

    1.订阅模式 作用类似与微信公众号,你订阅了就可以接收到消息 解读: 1.一个生产者,多个消费者. 2.每一个消费者 都有自己的队列 3.生产者没有直搂把洧息发送到队列而是发到了交换机 转发器exch ...

  9. 23种设计模式【全】 包含:模式定义 使用场景 实现步骤 优缺点 模式区别 UML类图 示例代码 注意项等

    23种设计模式(全) ***项目地址***:[GitHub](https://github.com/yjhroot/design-pattern) 声明 模式分类(3大类) 创建型模式(共5种) 结构 ...

最新文章

  1. axure 模板_《惢客创业日记》2019.09.03(周二) 用Axure管理项目流程
  2. java编译器使用教程_Java编译器API简介
  3. OpenCV cv::split用法的实例(附完整代码)
  4. GTS来了!阿里微服务架构下的分布式事务解决方案
  5. Android开发之xml布局文件无故报错、R文件丢失
  6. 免费的编程中文书籍索引(2018第三版)
  7. MATLAB中文显示乱码的问题如何解决
  8. 【C语言】初学者写基础代码的基本步骤
  9. 渗透测试专用浏览器 - Sandcat
  10. SQL SERVER—修改时不允许保存修改
  11. 烂笔头笔记:macOS卸载Adobe产品后,在Launchpad上遗留空文件夹的解决方法
  12. outlook查看html,怎样察看IE/Outlook中HTML页面的源文件
  13. Java基础_17 | Java多线程程序设计(Java中两种创建线程的方法、多线程之间的同步和互斥)
  14. reactor模式学习
  15. python 结合百度识图识别文字
  16. 【优化】windows双网叠加 多网叠加 网速叠加 教程
  17. 桌球游戏小项目及注意事项
  18. node连接kafka2.0
  19. java需要圣魔才能安装_eclipse java怎么运行?如何使用Eclipse编写运行Java程序
  20. 【内推网】错失1800万融资之后,他用900元挽救了公司

热门文章

  1. css writing-mode文字竖排
  2. python中re findall用法_Python---re.findall的用法
  3. Android全局配置引用ttf字体包
  4. .net core项目iis10上出现 HTTP 错误 500.19,错误代码:0x8007000d
  5. OSI七层协议和四层协议(详细)
  6. MongoDB自学笔记9---4.1 插入文档
  7. mysql tdb数据库_MYSQL数据库基础
  8. android编译出来的内核是dtb,内核编译出现错误,求大神教
  9. 日本展出高仿生女性机器人Asuna
  10. 谢国忠:中国房地产存在泡沫