`

基于SpringBoot自定义Rabbitmq配置来发布订阅消息

阅读更多

代码库

https://gitee.com/liyghting/springrabbitmqdemo

原理

基于spring启动的时候加载发布订阅配置,发送基于json的消息。

step1:实现Spring接口

step2:生产者配置信息Spring的Bean生成

step3:消费者配置信息初始化和建立监听

 

具体代码请看RabbitmqConfig.java

 

发布消息例子

配置application.yml

rabbitmqProducerMap:
  testProducer1:
    exchangeName: testExchange
    routingKey: test1
    producerBeanName: test1Producer
  testProducer2:
    exchangeName: testExchange
    routingKey: test2
    producerBeanName: test2Producer

代码

ProducerUtil.send("test1Producer", user);

具体请看TestProducer.java

订阅消息例子

配置application.yml

rabbitmqBindingMap:
  test1Binding:
    queueName: test1Queue
    exchangeName: testExchange
    routingKey: test1
    consumerBeanName: test1Consumer
  test2Binding:
    queueName: test2Queue
    exchangeName: testExchange
    routingKey: test2
    consumerBeanName: test2Consumer

代码实现BaseConsumer两个方法

@Override
    public ParameterizedTypeReference<ReceiveUser> getParameterizedTypeReference() {
        return new ParameterizedTypeReference<ReceiveUser>() {
        };
    }

    @Override
    public void handleMsg(ReceiveUser msg) {
        logger.info("Test1Consumer " + msg);

    }

具体请看Test1Consumer.java
分享到:
评论

相关推荐

    springBoot整合RabbitMQ案例

    在实际应用中,RabbitMQ还可以用于实现工作队列、发布/订阅模式、延迟消息、死信队列等功能。通过SpringBoot的集成,可以方便地将这些特性融入到Java应用中,实现高可用、解耦的系统架构。 总之,SpringBoot整合...

    spring-boot集成RabbitMQ

    **Spring Boot 集成 RabbitMQ 知识点详解** Spring Boot 是一款基于 Spring ...在实际项目中,还可以根据业务需求,使用更多的 RabbitMQ 功能,如工作队列、发布/订阅模式、路由键策略等,以优化系统架构和提高性能。

    SpringBoot+RabbitMq具体使用的几种姿势

    总的来说,SpringBoot与RabbitMQ的结合提供了强大的消息处理能力,通过灵活的配置和编程模型,可以适应各种业务需求。从简单的点对点通信到复杂的发布/订阅模式,RabbitMQ都能提供稳定、高效的服务。在选择消息...

    springboot-mq-learn.7z

    同时,RabbitMQ提供了多种消息模式,如简单模式、工作队列模式、发布/订阅模式、路由模式和主题模式,可以根据实际需求选择合适的模式。 压缩包中的“springboot-mq-learn”可能包含了一些示例代码,这些代码可以...

    springboot-netty.zip

    2. **RabbitMQ或Kafka选择**:SpringBoot可以与多种MQ兼容,如RabbitMQ或Kafka,它们都支持发布/订阅和点对点模式,可以根据实际需求选择。 3. **消息处理**:在棋牌游戏平台中,MQ可用于处理用户登录验证、游戏...

    springboot 同步解耦 异步化

    4. **消息驱动**:使用RabbitMQ或Kafka等消息中间件,通过发布/订阅模型或者生产者/消费者模型,可以将同步调用转换为异步消息传递,进一步实现解耦。 5. **WebFlux**:SpringBoot 2.x引入了WebFlux,它支持反应式...

    springboot-集成redis

    它集成了大量常用的第三方库配置,如 JDBC、MongoDB、JPA、RabbitMQ、Quartz 等,使得开发者能够快速地创建一个独立运行的、生产级别的基于 Spring 的应用。 Redis 是一个开源的、高性能的键值存储系统,常被用作...

    jkcommctrsvr.rar

    这通常涉及到创建WebSocket配置类,实现WebSocket消息处理接口(WebSocketMessageHandler),注册WebSocket端点,并可能使用STOMP作为WebSocket的子协议来处理消息订阅和发布。 然后,我们讨论HTTP通讯端口的控制。...

    spring-boot-study:SpringBoot框架源码实战(已更新到springboot2版本实现)〜基本用法,Rest,Controller,事件监听,连接数据库MySQL,jpa,redis集成,mybatis集成(声明式与xml两种方式〜对应的添删查改功能),日志处理,devtools配置,拦截器用法,资源配置读取,测试集成,网络层实现请求映射,安全安全验证,rabbitMq集成,kafka集成,分布式id生成器等。实战:https:github.comhemin1003yfax-pare

    基于springboot 2.0.6.RELEASE版本实现的代码演示集合,欢迎使用star / fork 新子项目列表 介绍Springboot2【自动化单元测试】的用法: 如何编写测试案例,具体使用有哪些 单元测试场景:多种业务场景,例如如何进行...

    smartlamp_micro_service.zip

    在微服务架构中,RabbitMQ常被用作服务间的通信媒介,通过发布/订阅、路由、队列等方式传递消息。 4. **Redis**:Redis是一个高性能的键值数据库,常被用作缓存和消息中间件。在Spring Boot应用中,Redis可以加速...

    springBootAMQP_rabbitMQ

    Spring Boot简化了Spring的应用配置,而AMQP(Advanced Message Queuing Protocol)是一种应用层协议,RabbitMQ则是基于此协议的开源消息代理软件。下面将详细介绍Spring Boot如何与RabbitMQ集成,以及它们在实际...

    java面试宝典,包含java基础篇、多线程、spring、springboot、mysql、redis、mq等等经典面试问题

    - 消息模型:点对点、发布/订阅模式。 - 消息确认机制:确保消息的可靠传递。 - MQ的选型:RabbitMQ、Kafka、ActiveMQ的比较与应用场景。 - 高可用与高并发:集群部署,消息堆积处理。 面试宝典通常会深入讲解...

    Spring Cloud 中文文档.pdf

    - **持续发布-订阅支持**:Spring Cloud Stream 支持发布-订阅模型,允许消息的广播。 - **消费群体**:消费群体是一组消费同一消息流的应用程序实例。 - **分区支持**:Spring Cloud Stream 支持消息分区,可以将...

    message-java:微型微服务,用于基于消息的通信

    基于消息的通信通常涉及发布/订阅模型或者请求/响应模型,其中服务间通过消息代理进行解耦通信。 在Java中,我们可以使用诸如Spring Boot框架来快速开发微服务。Spring框架提供了Spring Cloud Stream模块,它支持与...

    springbootWebscoketServerDemo.zip

    3. **消息编码/解码器**:可能需要自定义`WebSocketMessage`的编码和解码,例如JSON格式,可以使用`WebSocketMessageCodecSupport`进行扩展。 4. **SimpAnnotationMethodMessageHandler**:Spring WebSocket的注解...

    springCloud

    AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。 Github:https://github.com/rabbitmq 官网地址:http://www.rabbitmq.com 安装RabbitMQ 安装RabbitMQ 可以参考之前的文章 ...

    Java开发系列实用知识库分享

    15. **RabbitMQ消息丢失与保证消息不丢失**:RabbitMQ是基于AMQP协议的消息队列,可以通过确认机制、持久化、事务等手段确保消息的可靠传递。 16. **@EnableAsync与@Async**:这两个注解是Spring提供的异步任务处理...

    spring-cloud-bus:Spring Cloud事件总线

    当某个微服务发生特定事件时,如配置更新,它会发布一个事件到总线上,其他订阅了该事件的微服务会接收到这个消息并作出响应。 2. **消息中间件(Message Broker)**:Spring Cloud Bus依赖于消息中间件来传递事件...

    Micro-blog-like:类似于MicroBlog的网站后端

    这里可能使用了Redis来缓存最新的资讯,因为Redis支持高效的数据结构(如列表和发布/订阅模型),可以快速获取和推送信息。 评论中心和站内信是社交互动的重要组成部分。评论可能存储在数据库中,通过iBatis查询和...

    java最新面试宝典

    - P2P与发布/订阅模式的区别。 - ActiveMQ的监控与管理。 - **面试考察要点:** - ActiveMQ在项目中的具体应用场景。 - 如何处理数据提交失败的情况。 **3. MQ的三种Exchange** - **知识点概述:** - Direct ...

Global site tag (gtag.js) - Google Analytics